<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hatshepsut</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hatshepsut"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/Special:Contributions/Hatshepsut"/>
	<updated>2026-04-10T08:15:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3047</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3047"/>
		<updated>2006-08-14T12:15:08Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Enrolment-level Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and permissions&#039;&#039;&#039; will be in Moodle 1.7 and are available in the developer version of Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
A role is an identifier of the user&#039;s status in some context, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a description of some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;mod/forum:replypost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
A permission is some value that is assigned for a capability for a particular role.  For example, allow or prevent.&lt;br /&gt;
&lt;br /&gt;
A context is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks etc.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.7}}The new system will allow authorized users to define an arbitrary number of roles (eg a teacher) &lt;br /&gt;
&lt;br /&gt;
A role consists of a list of permissions for different possible actions within Moodle (eg delete discussions, add activities etc)&lt;br /&gt;
&lt;br /&gt;
Roles can be applied to users in a context (eg assign Fred as a teacher in a particular course)&lt;br /&gt;
&lt;br /&gt;
Here are the possible contexts, listed from the most general to the most specific. &lt;br /&gt;
&lt;br /&gt;
#CONTEXT_SYSTEM&lt;br /&gt;
#CONTEXT_PERSONAL&lt;br /&gt;
#CONTEXT_USERID&lt;br /&gt;
#CONTEXT_COURSECAT&lt;br /&gt;
#CONTEXT_COURSE&lt;br /&gt;
#CONTEXT_GROUP&lt;br /&gt;
#CONTEXT_MODULE&lt;br /&gt;
#CONTEXT_BLOCK&lt;br /&gt;
&lt;br /&gt;
An authorized user will be able to assign an arbitrary number of roles to each user in any context.&lt;br /&gt;
&lt;br /&gt;
Capabilities can have the following permissions:&lt;br /&gt;
&lt;br /&gt;
#CAP_INHERIT&lt;br /&gt;
#CAP_ALLOW&lt;br /&gt;
#CAP_PREVENT&lt;br /&gt;
#CAP_PROHIBIT&lt;br /&gt;
&lt;br /&gt;
If no permission is defined, then the capability permission is inherited from a context that is more general than the current context. If we define different permission values for the same capability in different contexts, we say that we are overriding the capability in the more specific context.&lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by enforcing the rule that the capability defined for a more specific context will win, unless a prohibit is encountered in a less specific context.&lt;br /&gt;
&lt;br /&gt;
For example, Mark has a student role at course level, which allows him to write into a wiki. But Mark also got assigned a Visitor role at a module context level (for a particular wiki) which prevents him from writing to the wiki (read only). Therefore, for this particular wiki, Mark will not be able to write to the wiki since the more specific context wins.&lt;br /&gt;
&lt;br /&gt;
If we set a prohibit on a capability, it means that the capability cannot be overridden and will always have a permission of prevent (deny). Prohibit always wins. For example, Jeff has a naughty student role that prohibits him from postings in any forums (for the whole site), but he&#039;s also assigned a facilitator role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since prohibit always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Allow and prevent will cancel each other out if set for the same capability at the same context level. If this happens, we refer to the previous context level to determine the permission for the capability.&lt;br /&gt;
&lt;br /&gt;
This may sound more complex than it really is in practice.  The upshot is that the system can be flexible enough to allow any combination of permissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the existing capabilities will be automatically retained.  This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, mirroring what we have  in 1.6.   With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This will be a comprehensive list of capabilities (it&#039;s not complete yet). It is important that capability names are unique.&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capability names start with &#039;moodle/&#039;.  The next word indicates what type of core capability it is, and the last word is the actual capability itself.  The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#moodle/legacy:guest - legacy capabilities are used to transition existing users to the new roles system during the upgrade to Moodle 1.7&lt;br /&gt;
#moodle/legacy:student&lt;br /&gt;
#moodle/legacy:teacher&lt;br /&gt;
#moodle/legacy:editingteacher&lt;br /&gt;
#moodle/legacy:coursecreator&lt;br /&gt;
#moodle/legacy:admin&lt;br /&gt;
#moodle/site:doanything - special capability, meant for admins, if is set, overrides all other capability settings&lt;br /&gt;
#moodle/site:config - applicable in admin/index.php and config.php (might break down later) : 1)admin/config.php 2)admin/configure.php 3)blocks/admin/block_admin.php load_content_for_site()&lt;br /&gt;
#moodle/site:manageblocks - adding/removing/editing blocks (site, course contexts only for now) : 1)_add_edit_controls moodleblock.class.php &lt;br /&gt;
#moodle/site:backup - can create a course backup : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:restore - can restore into this context : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:import - can import other courses into this context : 1)block_admin.php&lt;br /&gt;
#moodle/site:accessallgroups - able to access all groups irrespective of what group the user is in&lt;br /&gt;
#moodle/blog:view - read blogs&lt;br /&gt;
#moodle/blog:create - write new blog posts&lt;br /&gt;
#moodle/blog:manageofficialtags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:managepersonaltags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:manageentries - edit/delete all blog entries&lt;br /&gt;
#moodle/course:create - create courses : 1)course/edit.php 2)course/category.php 3)course/index.php&lt;br /&gt;
#moodle/course:delete - create courses : 1)course/category.php&lt;br /&gt;
#moodle/course:update - update course settings&lt;br /&gt;
#moodle/course:view - can use this to find participants&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?) : 1)course/scales.php&lt;br /&gt;
#moodle/course:manageactivities - adding/removing/editing activities and resources (don&#039;t think it makes any sense to split these)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down : 1)blocks/block_admin.php 2)course/scales.php&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, edit, delete : 1)course/groups.php 2)course/group.php&lt;br /&gt;
#moodle/course:visibility - hide/show courses : 1)course/category.php&lt;br /&gt;
#moodle/course:activityvisibility - hide/show activities within a course&lt;br /&gt;
#moodle/course:viewhiddenactivities - able to see activities that have been hidden&lt;br /&gt;
#moodle/category:create - create category : 1)course/index.php&lt;br /&gt;
#moodle/category:delete - delete category : 1)course/index.php&lt;br /&gt;
#moodle/category:update - update category settings : 1)course/category.php&lt;br /&gt;
#moodle/category:visibility - hide/show categories : 1)course/index.php&lt;br /&gt;
#moodle/user:create - create user : 1) user/edit.php&lt;br /&gt;
#moodle/user:delete - delete user : 1) admin/user.php&lt;br /&gt;
#moodle/user:update - update user settings : 1) user/edit.php&lt;br /&gt;
#moodle/user:viewdetails - view personally-identifying user details (e.g. name, photo). This ties in with the &amp;quot;visitor&amp;quot; scenario described below.&lt;br /&gt;
#moodle/calendar:manageownentries - create/edit/delete &lt;br /&gt;
#moodle/calendar:manageentries - create/edit/delete&lt;br /&gt;
#moodle/role:assign - assign roles to users&lt;br /&gt;
#moodle/role:manage - create/edit/delete roles, set capability permissions for each role&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;.  The part before the colon is the full path to the module in the Moodle code.  The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:view- reading the assignment description&lt;br /&gt;
##mod/assignment:submit - turn assignment in&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entries&lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:viewhiddentimedposts&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:viewanyrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
##mod/forum:createattachment&lt;br /&gt;
##mod/forum:deleteownpost&lt;br /&gt;
##mod/forum:deleteanypost&lt;br /&gt;
##mod/forum:splitdiscussions&lt;br /&gt;
##mod/forum:movediscussions&lt;br /&gt;
##mod/forum:editanypost&lt;br /&gt;
##mod/forum:viewqandawithoutposting&lt;br /&gt;
##mod/forum:viewsubscribers&lt;br /&gt;
##mod/forum:managesubscriptions&lt;br /&gt;
##mod/forum:throttlingapplies&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:view - read entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:viewrating - view ratings&lt;br /&gt;
#Hotpot&lt;br /&gt;
##mod/hotpot:view&lt;br /&gt;
#Label&lt;br /&gt;
##none&lt;br /&gt;
#Lams&lt;br /&gt;
##TBD&lt;br /&gt;
#Lesson&lt;br /&gt;
##TBD&lt;br /&gt;
#Quiz&lt;br /&gt;
##TBD&lt;br /&gt;
#Resource&lt;br /&gt;
##mod/resource:view&lt;br /&gt;
#Scorm&lt;br /&gt;
##mod/scorm:view&lt;br /&gt;
##mod/scorm:viewgrades&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
##Waiting on new wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
##Waiting on new Workshop&lt;br /&gt;
&lt;br /&gt;
===Enrolment-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to enrolment is &#039;enrol/enrol_name:capability&#039;. The enrolment capabilities are defined in enrol/enrol_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Authorize.net Payment Gateway &lt;br /&gt;
##enrol/authorize:managepayments - manage user payments, capture, void, refund, delete etc.&lt;br /&gt;
&lt;br /&gt;
Will it be possible to enroll people into different roles in a course as part of the enrollment process itself? I mean could you have an option to self-enroll (either involving payment or not) into multiple roles? In fact, will there be any possibility of a student self-selecting a role for themselves, but no one else but themselves?--[[User:N Hansen|N Hansen]] 02:00, 14 August 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten in the whole scheme of things since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118].&lt;br /&gt;
&lt;br /&gt;
See [http://moodle.org/mod/forum/discuss.php?d=51143 this forum thread] for a discussion about the current problems wth publishing question categories.[[User:Tim Hunt|Tim Hunt]] 18:50, 8 August 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Interface==&lt;br /&gt;
&lt;br /&gt;
Although the Roles system may look complicated at first glance, implementing it in Moodle code is fairly simple.&lt;br /&gt;
&lt;br /&gt;
* You need to define each capability once, so that Moodle can upgrade existing roles to take advantage of it.  You do this in an access.php inside the db folder of any module (eg see mod/forum/db/access.php).  The array contains entries like this (note the descriptions for the legacy roles which provides forward compatibility):&lt;br /&gt;
    &#039;mod/forum:viewforum&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;captype&#039; =&amp;gt; &#039;read&#039;,&lt;br /&gt;
        &#039;contextlevel&#039; =&amp;gt; CONTEXT_MODULE,&lt;br /&gt;
        &#039;legacy&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;guest&#039; =&amp;gt; CAP_PREVENT,&lt;br /&gt;
            &#039;student&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;teacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;editingteacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;coursecreator&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;admin&#039; =&amp;gt; CAP_ALLOW&lt;br /&gt;
        )&lt;br /&gt;
    ),&lt;br /&gt;
* To load/change these capabilities you need to bump the module version.   There&#039;s no need to provide changes or differences as Moodle will scan the whole array and sort it out.&lt;br /&gt;
* On each page you need to find the context the user is working in, using the get_context_instance() function.  For example, in the forum module:&lt;br /&gt;
&lt;br /&gt;
  $context = get_context_instance(CONTEXT_MODULE, $cm-&amp;gt;id);&lt;br /&gt;
* Then, whenever you want to check that the current user has rights to do something, call has_capability() like this:&lt;br /&gt;
    if (!has_capability(&#039;mod/forum:viewforum&#039;, $context)) {&lt;br /&gt;
        print_error(&#039;nopermissiontoviewforum&#039;);&lt;br /&gt;
    }&lt;br /&gt;
* If you just want to assert a capability and then finish with an error message if it&#039;s not met (as we did above), then a shorter way it to use require_capability() like this:&lt;br /&gt;
&lt;br /&gt;
    require_capability(&#039;mod/forum:viewforum&#039;, $context);&lt;br /&gt;
&lt;br /&gt;
* Note that there are extra parameters you can specify to get a custom error message, otherwise users get an automated &amp;quot;No permissions&amp;quot; message that lists the permission they were missing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a result of the new Roles System, all calls to isadmin(), iscoursecreator, isteacheredit(), isteacher(), isstudent(), and isguest() will have to be replaced with calls to has_capability() or require_capability().   However, these functions will be retained for some backward compatibility with old code, using the legacy capabilities to try and work out what to do.&lt;br /&gt;
&lt;br /&gt;
==Scenario brainstorming==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support.  Note some of these *may* not be possible in 1.7.&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===Peer observer of teaching===&lt;br /&gt;
Many institutions encourage peer observation of teaching, to encourage reflection on practice. In online environments this will be similar to moderation or inspection. The peer observer would need to be able to experience the course &amp;quot;as a student&amp;quot;, but also to be able to view summaries of usage, transcripts of interactions (forums/surveys/polls etc), grades assigned (e.g. in assignments).&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY=3+4 yr olds) and Key Stage 1 (KS1=5+6 yr olds) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary. In Key Stage 2 (KS2=7-11 yr olds) parents would be more monitoring but may join in as well.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 (KS3=12-14 yr olds) and 4 (KS4=15+16 yr olds) this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments. Also in all Key Satges there may be a home-school agreement which may be signed up to. Could this form part of a site policy system that incorporates a tickable list of activities the parent agrees to the child using (blogs/wikis/forums etc.)?&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
Again in the UK, parents have their own independent right of access to a child&#039;s educational records. Obviously, children&#039;s records must not be made available to other parties, including the parents of other children in the same class. Thus it would be necessary to associate parent accounts with their own child&#039;s accounts in such a way that they could, if so desired, have read access to their child&#039;s grades, answers and contributions, but generally not those of other children - this may be problematic in the case of wiki activities or forum posts.&lt;br /&gt;
&lt;br /&gt;
There is some concern that children&#039;s forum contributions etc may be constrained if their parents are able to read all that they write; this may be particularly problematic in areas such as Personal, Social and Health Education (PSHE), where some schools may choose to use obfuscated usernames.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Alumnus=== An ALUMNUS should be able to search for all other ALUMNI of the school, interact with them and be enrolled in a seperate course - which is like a META course with all the content of his learning and interaction - as well as capabilities to be a part of this ALUMNI only course.  All the teachers of courses during school years should automatically be a part of the ALUMNI course .. which means when an ALUMNUS is enrolled in a course, the original teachers of all his courses get enrolled ?  --[[User:Anil Sharma|Anil Sharma]] 20:54, 15 July 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
In schools there is often a book review system. This may be covered by the lending system database but may not in which case a librarian may neeed to have a course area they can create a database template to handle the reviews in which case they may have a normal teacher style role? Off topic but course an integration with common schools database systems would be great.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Student - FERPA rights===&lt;br /&gt;
&lt;br /&gt;
A student that has asserted their FERPA rights to non-disclosure.  Typically includes not publishing their name&lt;br /&gt;
in any public place.  Could include this student only being seen with an &amp;quot;alias&amp;quot; within course spaces.  Is this an attribute rather&lt;br /&gt;
than a role?&lt;br /&gt;
&lt;br /&gt;
===Help Desk===&lt;br /&gt;
&lt;br /&gt;
Help desk agents that have read access for the purposes of trouble shooting.  Some care in placing this role within a hierarchy&lt;br /&gt;
of inheritance is needed, full access will be problematic with FERPA.&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4817</id>
		<title>Wikindx</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4817"/>
		<updated>2006-08-13T18:05:36Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Notes on the possible integration of [http://wikindx.sourceforge.net/index2.html WIKINDX] with Moodle.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://wikindx.sourceforge.net/index2.html WIKINDX]is a free bibliographic and quotations/notes management and article authoring system designed either for single use (on a variety of operating sytems) or multi-user collaborative use across the internet.&lt;br /&gt;
&lt;br /&gt;
Please also see the Moodle Discussion at http://moodle.org/mod/forum/discuss.php?d=23022&lt;br /&gt;
&lt;br /&gt;
==Wikindx filter for Moodle==&lt;br /&gt;
&lt;br /&gt;
Dan Stowell has created a &amp;quot;Wikindx filter&amp;quot; for Moodle which allows you to cross-link to a wikindx entry by typing (for example) wikindx:646. The filter is in contrib CVS, named &amp;quot;filter_wikindx&amp;quot; or can be downloaded at http://download.moodle.org/download.php/modules/filter_wikindx.zip&lt;br /&gt;
&lt;br /&gt;
From MG:&lt;br /&gt;
Some design considerations for a moodle filter that enables a wikindx to be searched, a reference to be selected, page number(s) to be added and the in-text or footnote citation and full reference to be returned formatted to the user&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
NB  With everything else I have going on (PhD, Wikindx, life) I have no intention of setting up Moodle for testing this (no prior experience in Moodle let alone moodle filters) but, if someone is willing to a) write the moodle filter code and b) be prepared to run beta wikindx code to test the interface, then I would be more than happy to do whatever needs to be done in the wikindx code.  The wikindx code will be easy:  I can&#039;t speak for the moodle code (but, see below, imagine that quite a bit of it could be pulled from wikindx).  I also have no idea if moodle filters alone can accomplish what I&#039;ve suggested below or if the code needs greater integration in the moodle core code.&lt;br /&gt;
&lt;br /&gt;
1/ The Moodle filter needs to provide 3 basic functions:&lt;br /&gt;
:a) an icon in the HTML text editor that opens a pop-up,&lt;br /&gt;
:b) the pop up should provide a simple search/select interface to wikindx resources,&lt;br /&gt;
:c) once the selected wikindx resource has been inserted into the text, the moodle HTML editor text is saved and the filter sends the reference (and style and page number(s)) to wikindx for formatting and insertion into the moodle text.&lt;br /&gt;
&lt;br /&gt;
2/ Because what is supplied to the pop-up (see below) requires a connection to wikindx, the filter should have a config file for the wikindx database connection details.  wikindx 3.4 now allows admins to lock out read-only users so this config file may also have the option to add a wikindx username::password pair (I would not favour this though).&lt;br /&gt;
&lt;br /&gt;
3/ The search interface could be similar to the wikindx Quick Search interface less the ordering options (to save on space). [WIKINDX code (filling the pop-up)]&lt;br /&gt;
&lt;br /&gt;
4/ The results of a search should be displayed with multiple resources next to radio buttons, a select box to choose the formatting style and text boxes to enter page number(s).  Each radio button has a value that is the unique resource ID in the wikindx.  [WIKINDX code]&lt;br /&gt;
&lt;br /&gt;
5/ Once the appropriate resource has been selected and other details added, clicking on a &#039;process&#039; button will add the appropriate filter mark-up which may be something like:&lt;br /&gt;
:wikindx:34:12[APA]&lt;br /&gt;
:wikindx:56:34-35[CHICAGO]&lt;br /&gt;
&lt;br /&gt;
where the first number is the wikindx resource ID, the second number(s) is the page and [...] is the bibliographic style chosen. [WIKINDX code]&lt;br /&gt;
&lt;br /&gt;
6/ On saving the moodle text, that markup is extracted and sent to the wikindx server (something like http://....index.php&amp;amp;externalResourceGrab&amp;amp;id=56&amp;amp;pages=34-35&amp;amp;style=CHICAGO) which then formats the requested resource and provides a string in return which would consist of a serialized/base64_encoded PHP multi-dimensional array which, when unpacked, would have something like the following (if APA for example):&lt;br /&gt;
:array(&lt;br /&gt;
::[styleType] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;inText&amp;quot;&lt;br /&gt;
::),&lt;br /&gt;
::[citation] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;(Martin et al. 1978, pp.34--35)&amp;quot;&lt;br /&gt;
::),&lt;br /&gt;
::[reference] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;Martin, R. L., Thrift, N. J., &amp;amp; Bennett, R. J. (Eds.). (1978). &#039;&#039;Towards the dynamic analysis of spatial systems&#039;&#039;. London: Pion.&amp;quot;&lt;br /&gt;
::)&lt;br /&gt;
:);&lt;br /&gt;
&lt;br /&gt;
for a footnote-type citation (e.g. Chicago), it might be:&lt;br /&gt;
:array(&lt;br /&gt;
::[styleType] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;footnote&amp;quot;&lt;br /&gt;
::),&lt;br /&gt;
::[citation] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;&#039;&#039;Towards the Dynamic Analysis of Spatial Systems&#039;&#039;. 1978. Edited by R. L. Martin, N. J. Thrift and R. J. Bennett. London: Pion.  pp.34--35&amp;quot;&lt;br /&gt;
::),&lt;br /&gt;
::[reference] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;&#039;&#039;Towards the Dynamic Analysis of Spatial Systems&#039;&#039;. 1978. Edited by R. L. Martin, N. J. Thrift and R. J. Bennett. London: Pion.&amp;quot;&lt;br /&gt;
::)&lt;br /&gt;
:);&lt;br /&gt;
&lt;br /&gt;
NB The italics (and any underline, bold etc.) would be returned as HTML markup. [WIKINDX code]&lt;br /&gt;
&lt;br /&gt;
7/ Moodle would take this array and, if [styleType] == &#039;footnote&#039;, insert something like &#039;[1]&#039; in the body of the text, [citation] as a footnote and, if required, append [reference] to a bibliography (perhaps this is just future-proofing in this case).  However, if [styleType] == &#039;inText&#039;, [citation] would be inserted in the body of the text and [reference] appended.&lt;br /&gt;
&lt;br /&gt;
8/ In the case of multiple citations, wikindx should be able to provide the second element of the array correctly ordered as per the style requirements.  So you might have something like:&lt;br /&gt;
&lt;br /&gt;
:array(&lt;br /&gt;
::[styleType] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;inText&amp;quot;&lt;br /&gt;
::),&lt;br /&gt;
::[citation] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;(Martin et al. 1978, pp.34--35)&amp;quot;,&lt;br /&gt;
:::[1] =&amp;gt; &amp;quot;(Aarseth et al. 2003)&amp;quot;&lt;br /&gt;
::),&lt;br /&gt;
::[reference] = array(&lt;br /&gt;
:::[0] =&amp;gt; &amp;quot;Aarseth, E., Smedstad, S. M., &amp;amp; Sunnanå, L. (2003, November 4—6). &#039;&#039;A multi-dimensional typology of games&#039;&#039;. Paper presented at Level Up, Utrecht Universiteit.&amp;quot;,&lt;br /&gt;
:::[1] =&amp;gt; &amp;quot;Martin, R. L., Thrift, N. J., &amp;amp; Bennett, R. J. (Eds.). (1978). &#039;&#039;Towards the dynamic analysis of spatial systems&#039;&#039;. London: Pion.&amp;quot;&lt;br /&gt;
::)&lt;br /&gt;
:);&lt;br /&gt;
&lt;br /&gt;
In this way separate orders are maintained for the citation and the appended bibliography. [WIKINDX code]&lt;br /&gt;
&lt;br /&gt;
Perhaps the above is not do-able as a simple moodle filter?&lt;br /&gt;
&lt;br /&gt;
==Outline thoughts on integration...==&lt;br /&gt;
&lt;br /&gt;
1. Do we need to allowing a user already logged into a Moodle site to be seamlessly logged in to a wikindx? Or maybe just use the same login details between the two (like the way that Moodle.org and MoodleDocs works).  If necessary, something could be added to wikindx to enable this. In most cases though, with the right config settings, wikindx will allow any read only request without requiring login.&lt;br /&gt;
&lt;br /&gt;
2. Another issue is how to integrate the paper writing function of Wikindx into Moodle. What about use of the HTML editor? Could it be integrated some way with the Netpublish module? Imagine students or professors being able to use it to write academic papers and then publish those on the Moodle site.  Currently wikindx publishes papers solely to RTF.  It should be simple to publish to HTML since that&#039;s what the raw document is anyway (a matter of adding HTML header/footer, formatting citations and appending bibliographies -- most of this code is already in wikindx but not (yet) made available to the word processor).  Compared to other HTML editors, the only additional options wikindx offers in its version are buttons to import citations, metadata and insert footnotes.  All the rest (barring stats, timestamps, save etc.) are font/text formatting.&lt;br /&gt;
&lt;br /&gt;
3. For the filter above, how do you decide what bibliographic style to present in (APA, Chicago, IEEE etc.)?  Presumably, this is something that could be set in the filter config file.  (Although I haven&#039;t seen the filter in operation, I&#039;m assuming it picks up a properly formatted reference for insert.  Either short (Grimshaw, 2006) or long (Grimshaw, Mark N. 2006, WIKINDX [OSS].) for example. Is the only method of citation available parenthetical? Is it possible to use endnotes (or footnotes) as well?  Yes, endnote/footnote styles are available as well.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note from DS: No, at present the Wikindx filter simply displays the text &amp;quot;wikindx:646&amp;quot; (for example). It&#039;s a very simple start and I hope that people with more knowledge of Wikindx will be able to modify it to extract the properly-formatted reference direct from Wikindx. If wikindx had a system whereby a certain URL call would supply the reference text in whatever style was configured for wikindx, this would be a good way to display the citation nicely within Moodle. Does such a call exist? I don&#039;t think so. Something like mywikindx.com/index.php?&#039;&#039;&#039;action=resourceGrabCitation&#039;&#039;&#039;&amp;amp;id=501 would be required.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note from JB: As the wikindx admin can set the default bibliographic style in the config, the filter will just present that style. The filter is simple but oh so useful! So when I type &#039;&#039;&#039;wikindx:1&#039;&#039;&#039; into my moodle installation, it creates an automatic link to http://www.baillie.org.uk/wikindx//index.php?action=resourceView&amp;amp;id=1&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note from MG: action=resourceGrabCitation can be added and the default citation formatting applied. A possible gotcha in that there may be a problem with footnote/endnote style citation is that not only would you need the footnote marker (e.g. [1]) but you would also need the full reference to be appended to the text as a footnote (I&#039;m assuming this is required rather than just using [1] as a hyperlink to the wikindx resource -- presumably you would want to use the same strict referencing that students are required to use).  Hence, in this case, the returned values would consist of two values -- one the citation to be hyperlinked and the other the full reference to be appended.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note from MG: In wikindx, inserting a citation into metadata or the word processor involves clicking on an icon which opens a popup.  In this, there is a select box listing short entries of all available resources and some text fields for users to enter cited page numbers.  Perhaps something similar could be used in the moodle wikindx filter to avoid the hassle of having to look up the wikindx resource id before entering it into moodle.  This pop-up could also list the available citation/bibliographic styles on the wikindx allowing the user to select the style with which the citation should be formatted prior to insertion into moodle.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
4. Mark, your remarks in 2 have gotten me thinking. Although not everyone likes the Moodle HTML area editor that much, it still is the standard way of creating text in Moodle and perhaps a way of integrating Wikindx would be to add buttons for Wikindx to it, just like the kind described above in Wikindx&#039;s native editor. I needed to integrate a hieroglyph editor into my site and Janne Mikkonen helped me to add it through a button in the html editor that pops up a window, in which the student type the hieroglyphs they need, and then click a button to have them inserted back into the editor-similar to the way the insert image popup works. I would imagine something similar could be done with Wikindx. The advantage of this is that it would make Wikindx accessible anywhere within Moodle, rather than just as a separate module. You might also want a standalone module option whereby students could collaborate on creating bibliographies together.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note from MG: Adding the appropriate buttons would be my suggestion.  In wikindx, citations are added by the popup automatically adding something like&#039;&#039;&lt;br /&gt;
:&#039;&#039;[cite]146:22-23[/cite]&#039;&#039;&lt;br /&gt;
:&#039;&#039;where 146 is the resource ID in the database and 22-23 are the page nos. This can be added via a cite button or will be appended to an inserted quotation/paraphrase via the wikindx &#039;insert metadata&#039; button.  Footnotes (i.e. parenthetical thoughts as opposed to citation footnotes - WIKINDX does handle those footnotes/endnotes as well) are inserted via a button which encloses the inserted footnote in:&#039;&#039;&lt;br /&gt;
:&#039;&#039;[footnote]....[/footnote]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Exporting to RTF, the cite tags are substituted with the formatted citation marker (in-text or footnote/endnote), bibliographic information is extracted and appended to a bibliography and footnote tags are converted to RTF footnotes.  Of course, all HTML code (font/text formatting, tables, lists, images etc.) are converted to their appropriate RTF code too.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
5. Re the citation/bibliographic formatting, the PHP code for this has been extracted from wikindx and made available to other OSS apps at http://bibliophile.sourceforge.net (I think Aigaion and Bibliograph use it or are about to) so it may be easy enough for Moodle to use this too.  In fact doubly easy if moodle interfaces with a wikindx because the quickest way to set up the formatting engine is to provide data to it in exactly the same PHP associative array that wikindx natively expects.&lt;br /&gt;
&lt;br /&gt;
6. What capabilities are there in Wikindx at this time for different capabilities in using bibliographies? Can bibliographies be shared by a predefined group/all users? Can some people be given the ability to add to a bibliography while others can only use the bibilography? Can bibliography entries be required to have approval by some person before they are displayed to all? These would be nice features to have.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3041</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3041"/>
		<updated>2006-08-13T18:00:51Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Enrolment-level Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and permissions&#039;&#039;&#039; will be in Moodle 1.7 and are available in the developer version of Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
A role is an identifier of the user&#039;s status in some context, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a description of some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;mod/forum:replypost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
A permission is some value that is assigned for a capability for a particular role.  For example, allow or prevent.&lt;br /&gt;
&lt;br /&gt;
A context is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks etc.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.7}}The new system will allow authorized users to define an arbitrary number of roles (eg a teacher) &lt;br /&gt;
&lt;br /&gt;
A role consists of a list of permissions for different possible actions within Moodle (eg delete discussions, add activities etc)&lt;br /&gt;
&lt;br /&gt;
Roles can be applied to users in a context (eg assign Fred as a teacher in a particular course)&lt;br /&gt;
&lt;br /&gt;
Here are the possible contexts, listed from the most general to the most specific. &lt;br /&gt;
&lt;br /&gt;
#CONTEXT_SYSTEM&lt;br /&gt;
#CONTEXT_PERSONAL&lt;br /&gt;
#CONTEXT_USERID&lt;br /&gt;
#CONTEXT_COURSECAT&lt;br /&gt;
#CONTEXT_COURSE&lt;br /&gt;
#CONTEXT_GROUP&lt;br /&gt;
#CONTEXT_MODULE&lt;br /&gt;
#CONTEXT_BLOCK&lt;br /&gt;
&lt;br /&gt;
An authorized user will be able to assign an arbitrary number of roles to each user in any context.&lt;br /&gt;
&lt;br /&gt;
Capabilities can have the following permissions:&lt;br /&gt;
&lt;br /&gt;
#CAP_INHERIT&lt;br /&gt;
#CAP_ALLOW&lt;br /&gt;
#CAP_PREVENT&lt;br /&gt;
#CAP_PROHIBIT&lt;br /&gt;
&lt;br /&gt;
If no permission is defined, then the capability permission is inherited from a context that is more general than the current context. If we define different permission values for the same capability in different contexts, we say that we are overriding the capability in the more specific context.&lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by enforcing the rule that the capability defined for a more specific context will win, unless a prohibit is encountered in a less specific context.&lt;br /&gt;
&lt;br /&gt;
For example, Mark has a student role at course level, which allows him to write into a wiki. But Mark also got assigned a Visitor role at a module context level (for a particular wiki) which prevents him from writing to the wiki (read only). Therefore, for this particular wiki, Mark will not be able to write to the wiki since the more specific context wins.&lt;br /&gt;
&lt;br /&gt;
If we set a prohibit on a capability, it means that the capability cannot be overridden and will always have a permission of prevent (deny). Prohibit always wins. For example, Jeff has a naughty student role that prohibits him from postings in any forums (for the whole site), but he&#039;s also assigned a facilitator role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since prohibit always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Allow and prevent will cancel each other out if set for the same capability at the same context level. If this happens, we refer to the previous context level to determine the permission for the capability.&lt;br /&gt;
&lt;br /&gt;
This may sound more complex than it really is in practice.  The upshot is that the system can be flexible enough to allow any combination of permissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the existing capabilities will be automatically retained.  This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, mirroring what we have  in 1.6.   With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This will be a comprehensive list of capabilities (it&#039;s not complete yet). It is important that capability names are unique.&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capability names start with &#039;moodle/&#039;.  The next word indicates what type of core capability it is, and the last word is the actual capability itself.  The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#moodle/legacy:guest - legacy capabilities are used to transition existing users to the new roles system during the upgrade to Moodle 1.7&lt;br /&gt;
#moodle/legacy:student&lt;br /&gt;
#moodle/legacy:teacher&lt;br /&gt;
#moodle/legacy:editingteacher&lt;br /&gt;
#moodle/legacy:coursecreator&lt;br /&gt;
#moodle/legacy:admin&lt;br /&gt;
#moodle/site:doanything - special capability, meant for admins, if is set, overrides all other capability settings&lt;br /&gt;
#moodle/site:config - applicable in admin/index.php and config.php (might break down later) : 1)admin/config.php 2)admin/configure.php 3)blocks/admin/block_admin.php load_content_for_site()&lt;br /&gt;
#moodle/site:manageblocks - adding/removing/editing blocks (site, course contexts only for now) : 1)_add_edit_controls moodleblock.class.php &lt;br /&gt;
#moodle/site:backup - can create a course backup : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:restore - can restore into this context : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:import - can import other courses into this context : 1)block_admin.php&lt;br /&gt;
#moodle/site:accessallgroups - able to access all groups irrespective of what group the user is in&lt;br /&gt;
#moodle/blog:view - read blogs&lt;br /&gt;
#moodle/blog:create - write new blog posts&lt;br /&gt;
#moodle/blog:manageofficialtags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:managepersonaltags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:manageentries - edit/delete all blog entries&lt;br /&gt;
#moodle/course:create - create courses : 1)course/edit.php 2)course/category.php 3)course/index.php&lt;br /&gt;
#moodle/course:delete - create courses : 1)course/category.php&lt;br /&gt;
#moodle/course:update - update course settings&lt;br /&gt;
#moodle/course:view - can use this to find participants&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?) : 1)course/scales.php&lt;br /&gt;
#moodle/course:manageactivities - adding/removing/editing activities and resources (don&#039;t think it makes any sense to split these)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down : 1)blocks/block_admin.php 2)course/scales.php&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, edit, delete : 1)course/groups.php 2)course/group.php&lt;br /&gt;
#moodle/course:visibility - hide/show courses : 1)course/category.php&lt;br /&gt;
#moodle/course:activityvisibility - hide/show activities within a course&lt;br /&gt;
#moodle/course:viewhiddenactivities - able to see activities that have been hidden&lt;br /&gt;
#moodle/category:create - create category : 1)course/index.php&lt;br /&gt;
#moodle/category:delete - delete category : 1)course/index.php&lt;br /&gt;
#moodle/category:update - update category settings : 1)course/category.php&lt;br /&gt;
#moodle/category:visibility - hide/show categories : 1)course/index.php&lt;br /&gt;
#moodle/user:create - create user : 1) user/edit.php&lt;br /&gt;
#moodle/user:delete - delete user : 1) admin/user.php&lt;br /&gt;
#moodle/user:update - update user settings : 1) user/edit.php&lt;br /&gt;
#moodle/user:viewdetails - view personally-identifying user details (e.g. name, photo). This ties in with the &amp;quot;visitor&amp;quot; scenario described below.&lt;br /&gt;
#moodle/calendar:manageownentries - create/edit/delete &lt;br /&gt;
#moodle/calendar:manageentries - create/edit/delete&lt;br /&gt;
#moodle/role:assign - assign roles to users&lt;br /&gt;
#moodle/role:manage - create/edit/delete roles, set capability permissions for each role&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;.  The part before the colon is the full path to the module in the Moodle code.  The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:view- reading the assignment description&lt;br /&gt;
##mod/assignment:submit - turn assignment in&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entries&lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:viewhiddentimedposts&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:viewanyrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
##mod/forum:createattachment&lt;br /&gt;
##mod/forum:deleteownpost&lt;br /&gt;
##mod/forum:deleteanypost&lt;br /&gt;
##mod/forum:splitdiscussions&lt;br /&gt;
##mod/forum:movediscussions&lt;br /&gt;
##mod/forum:editanypost&lt;br /&gt;
##mod/forum:viewqandawithoutposting&lt;br /&gt;
##mod/forum:viewsubscribers&lt;br /&gt;
##mod/forum:managesubscriptions&lt;br /&gt;
##mod/forum:throttlingapplies&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:view - read entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:viewrating - view ratings&lt;br /&gt;
#Hotpot&lt;br /&gt;
##mod/hotpot:view&lt;br /&gt;
#Label&lt;br /&gt;
##none&lt;br /&gt;
#Lams&lt;br /&gt;
##TBD&lt;br /&gt;
#Lesson&lt;br /&gt;
##TBD&lt;br /&gt;
#Quiz&lt;br /&gt;
##TBD&lt;br /&gt;
#Resource&lt;br /&gt;
##mod/resource:view&lt;br /&gt;
#Scorm&lt;br /&gt;
##mod/scorm:view&lt;br /&gt;
##mod/scorm:viewgrades&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
##Waiting on new wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
##Waiting on new Workshop&lt;br /&gt;
&lt;br /&gt;
===Enrolment-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to enrolment is &#039;enrol/enrol_name:capability&#039;. The enrolment capabilities are defined in enrol/enrol_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Authorize.net Payment Gateway &lt;br /&gt;
##enrol/authorize:managepayments - manage user payments, capture, void, refund, delete etc.&lt;br /&gt;
&lt;br /&gt;
Will it be possible to enroll people into different roles in a course as part of the enrollment process itself? I mean could you have an option to self-enroll (either involving payment or not) into multiple roles?--[[User:N Hansen|N Hansen]] 02:00, 14 August 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten in the whole scheme of things since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118].&lt;br /&gt;
&lt;br /&gt;
See [http://moodle.org/mod/forum/discuss.php?d=51143 this forum thread] for a discussion about the current problems wth publishing question categories.[[User:Tim Hunt|Tim Hunt]] 18:50, 8 August 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Interface==&lt;br /&gt;
&lt;br /&gt;
Although the Roles system may look complicated at first glance, implementing it in Moodle code is fairly simple.&lt;br /&gt;
&lt;br /&gt;
# You need to define each capability once, so that Moodle can upgrade existing roles to take advantage of it.  You do this in an access.php inside the db folder of any module (eg see mod/forum/db/access.php).  The array contains entries like this (note the descriptions for the legacy roles which provides forward compatibility):&lt;br /&gt;
&lt;br /&gt;
    &#039;mod/forum:viewforum&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;captype&#039; =&amp;gt; &#039;read&#039;,&lt;br /&gt;
        &#039;contextlevel&#039; =&amp;gt; CONTEXT_MODULE,&lt;br /&gt;
        &#039;legacy&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;guest&#039; =&amp;gt; CAP_PREVENT,&lt;br /&gt;
            &#039;student&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;teacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;editingteacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;coursecreator&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;admin&#039; =&amp;gt; CAP_ALLOW&lt;br /&gt;
        )&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
# To load/change these capabilities you need to bump the module version.   There&#039;s no need to provide changes or differences as Moodle will scan the whole array and sort it out.&lt;br /&gt;
# On each page you need to define the context the user is working in.  For example, in the forum module:&lt;br /&gt;
&lt;br /&gt;
  $context = get_context_instance(CONTEXT_MODULE, $cm-&amp;gt;id);&lt;br /&gt;
&lt;br /&gt;
# Then, whenever you want to check that the current user has rights to do something, call has_capability() like this:&lt;br /&gt;
&lt;br /&gt;
    if (!has_capability(&#039;mod/forum:viewforum&#039;, $context-&amp;gt;id)) {&lt;br /&gt;
        print_error(&#039;nopermissiontoviewforum);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario brainstorming==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support.  Note some of these *may* not be possible in 1.7.&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===Peer observer of teaching===&lt;br /&gt;
Many institutions encourage peer observation of teaching, to encourage reflection on practice. In online environments this will be similar to moderation or inspection. The peer observer would need to be able to experience the course &amp;quot;as a student&amp;quot;, but also to be able to view summaries of usage, transcripts of interactions (forums/surveys/polls etc), grades assigned (e.g. in assignments).&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY=3+4 yr olds) and Key Stage 1 (KS1=5+6 yr olds) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary. In Key Stage 2 (KS2=7-11 yr olds) parents would be more monitoring but may join in as well.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 (KS3=12-14 yr olds) and 4 (KS4=15+16 yr olds) this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments. Also in all Key Satges there may be a home-school agreement which may be signed up to. Could this form part of a site policy system that incorporates a tickable list of activities the parent agrees to the child using (blogs/wikis/forums etc.)?&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
Again in the UK, parents have their own independent right of access to a child&#039;s educational records. Obviously, children&#039;s records must not be made available to other parties, including the parents of other children in the same class. Thus it would be necessary to associate parent accounts with their own child&#039;s accounts in such a way that they could, if so desired, have read access to their child&#039;s grades, answers and contributions, but generally not those of other children - this may be problematic in the case of wiki activities or forum posts.&lt;br /&gt;
&lt;br /&gt;
There is some concern that children&#039;s forum contributions etc may be constrained if their parents are able to read all that they write; this may be particularly problematic in areas such as Personal, Social and Health Education (PSHE), where some schools may choose to use obfuscated usernames.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Alumnus=== An ALUMNUS should be able to search for all other ALUMNI of the school, interact with them and be enrolled in a seperate course - which is like a META course with all the content of his learning and interaction - as well as capabilities to be a part of this ALUMNI only course.  All the teachers of courses during school years should automatically be a part of the ALUMNI course .. which means when an ALUMNUS is enrolled in a course, the original teachers of all his courses get enrolled ?  --[[User:Anil Sharma|Anil Sharma]] 20:54, 15 July 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
In schools there is often a book review system. This may be covered by the lending system database but may not in which case a librarian may neeed to have a course area they can create a database template to handle the reviews in which case they may have a normal teacher style role? Off topic but course an integration with common schools database systems would be great.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Student - FERPA rights===&lt;br /&gt;
&lt;br /&gt;
A student that has asserted their FERPA rights to non-disclosure.  Typically includes not publishing their name&lt;br /&gt;
in any public place.  Could include this student only being seen with an &amp;quot;alias&amp;quot; within course spaces.  Is this an attribute rather&lt;br /&gt;
than a role?&lt;br /&gt;
&lt;br /&gt;
===Help Desk===&lt;br /&gt;
&lt;br /&gt;
Help desk agents that have read access for the purposes of trouble shooting.  Some care in placing this role within a hierarchy&lt;br /&gt;
of inheritance is needed, full access will be problematic with FERPA.&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3040</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3040"/>
		<updated>2006-08-13T17:57:18Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* ALUMNUS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and permissions&#039;&#039;&#039; will be in Moodle 1.7 and are available in the developer version of Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
A role is an identifier of the user&#039;s status in some context, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a description of some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;mod/forum:replypost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
A permission is some value that is assigned for a capability for a particular role.  For example, allow or prevent.&lt;br /&gt;
&lt;br /&gt;
A context is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks etc.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.7}}The new system will allow authorized users to define an arbitrary number of roles (eg a teacher) &lt;br /&gt;
&lt;br /&gt;
A role consists of a list of permissions for different possible actions within Moodle (eg delete discussions, add activities etc)&lt;br /&gt;
&lt;br /&gt;
Roles can be applied to users in a context (eg assign Fred as a teacher in a particular course)&lt;br /&gt;
&lt;br /&gt;
Here are the possible contexts, listed from the most general to the most specific. &lt;br /&gt;
&lt;br /&gt;
#CONTEXT_SYSTEM&lt;br /&gt;
#CONTEXT_PERSONAL&lt;br /&gt;
#CONTEXT_USERID&lt;br /&gt;
#CONTEXT_COURSECAT&lt;br /&gt;
#CONTEXT_COURSE&lt;br /&gt;
#CONTEXT_GROUP&lt;br /&gt;
#CONTEXT_MODULE&lt;br /&gt;
#CONTEXT_BLOCK&lt;br /&gt;
&lt;br /&gt;
An authorized user will be able to assign an arbitrary number of roles to each user in any context.&lt;br /&gt;
&lt;br /&gt;
Capabilities can have the following permissions:&lt;br /&gt;
&lt;br /&gt;
#CAP_INHERIT&lt;br /&gt;
#CAP_ALLOW&lt;br /&gt;
#CAP_PREVENT&lt;br /&gt;
#CAP_PROHIBIT&lt;br /&gt;
&lt;br /&gt;
If no permission is defined, then the capability permission is inherited from a context that is more general than the current context. If we define different permission values for the same capability in different contexts, we say that we are overriding the capability in the more specific context.&lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by enforcing the rule that the capability defined for a more specific context will win, unless a prohibit is encountered in a less specific context.&lt;br /&gt;
&lt;br /&gt;
For example, Mark has a student role at course level, which allows him to write into a wiki. But Mark also got assigned a Visitor role at a module context level (for a particular wiki) which prevents him from writing to the wiki (read only). Therefore, for this particular wiki, Mark will not be able to write to the wiki since the more specific context wins.&lt;br /&gt;
&lt;br /&gt;
If we set a prohibit on a capability, it means that the capability cannot be overridden and will always have a permission of prevent (deny). Prohibit always wins. For example, Jeff has a naughty student role that prohibits him from postings in any forums (for the whole site), but he&#039;s also assigned a facilitator role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since prohibit always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Allow and prevent will cancel each other out if set for the same capability at the same context level. If this happens, we refer to the previous context level to determine the permission for the capability.&lt;br /&gt;
&lt;br /&gt;
This may sound more complex than it really is in practice.  The upshot is that the system can be flexible enough to allow any combination of permissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the existing capabilities will be automatically retained.  This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, mirroring what we have  in 1.6.   With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This will be a comprehensive list of capabilities (it&#039;s not complete yet). It is important that capability names are unique.&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capability names start with &#039;moodle/&#039;.  The next word indicates what type of core capability it is, and the last word is the actual capability itself.  The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#moodle/legacy:guest - legacy capabilities are used to transition existing users to the new roles system during the upgrade to Moodle 1.7&lt;br /&gt;
#moodle/legacy:student&lt;br /&gt;
#moodle/legacy:teacher&lt;br /&gt;
#moodle/legacy:editingteacher&lt;br /&gt;
#moodle/legacy:coursecreator&lt;br /&gt;
#moodle/legacy:admin&lt;br /&gt;
#moodle/site:doanything - special capability, meant for admins, if is set, overrides all other capability settings&lt;br /&gt;
#moodle/site:config - applicable in admin/index.php and config.php (might break down later) : 1)admin/config.php 2)admin/configure.php 3)blocks/admin/block_admin.php load_content_for_site()&lt;br /&gt;
#moodle/site:manageblocks - adding/removing/editing blocks (site, course contexts only for now) : 1)_add_edit_controls moodleblock.class.php &lt;br /&gt;
#moodle/site:backup - can create a course backup : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:restore - can restore into this context : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:import - can import other courses into this context : 1)block_admin.php&lt;br /&gt;
#moodle/site:accessallgroups - able to access all groups irrespective of what group the user is in&lt;br /&gt;
#moodle/blog:view - read blogs&lt;br /&gt;
#moodle/blog:create - write new blog posts&lt;br /&gt;
#moodle/blog:manageofficialtags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:managepersonaltags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:manageentries - edit/delete all blog entries&lt;br /&gt;
#moodle/course:create - create courses : 1)course/edit.php 2)course/category.php 3)course/index.php&lt;br /&gt;
#moodle/course:delete - create courses : 1)course/category.php&lt;br /&gt;
#moodle/course:update - update course settings&lt;br /&gt;
#moodle/course:view - can use this to find participants&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?) : 1)course/scales.php&lt;br /&gt;
#moodle/course:manageactivities - adding/removing/editing activities and resources (don&#039;t think it makes any sense to split these)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down : 1)blocks/block_admin.php 2)course/scales.php&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, edit, delete : 1)course/groups.php 2)course/group.php&lt;br /&gt;
#moodle/course:visibility - hide/show courses : 1)course/category.php&lt;br /&gt;
#moodle/course:activityvisibility - hide/show activities within a course&lt;br /&gt;
#moodle/course:viewhiddenactivities - able to see activities that have been hidden&lt;br /&gt;
#moodle/category:create - create category : 1)course/index.php&lt;br /&gt;
#moodle/category:delete - delete category : 1)course/index.php&lt;br /&gt;
#moodle/category:update - update category settings : 1)course/category.php&lt;br /&gt;
#moodle/category:visibility - hide/show categories : 1)course/index.php&lt;br /&gt;
#moodle/user:create - create user : 1) user/edit.php&lt;br /&gt;
#moodle/user:delete - delete user : 1) admin/user.php&lt;br /&gt;
#moodle/user:update - update user settings : 1) user/edit.php&lt;br /&gt;
#moodle/user:viewdetails - view personally-identifying user details (e.g. name, photo). This ties in with the &amp;quot;visitor&amp;quot; scenario described below.&lt;br /&gt;
#moodle/calendar:manageownentries - create/edit/delete &lt;br /&gt;
#moodle/calendar:manageentries - create/edit/delete&lt;br /&gt;
#moodle/role:assign - assign roles to users&lt;br /&gt;
#moodle/role:manage - create/edit/delete roles, set capability permissions for each role&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;.  The part before the colon is the full path to the module in the Moodle code.  The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:view- reading the assignment description&lt;br /&gt;
##mod/assignment:submit - turn assignment in&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entries&lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:viewhiddentimedposts&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:viewanyrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
##mod/forum:createattachment&lt;br /&gt;
##mod/forum:deleteownpost&lt;br /&gt;
##mod/forum:deleteanypost&lt;br /&gt;
##mod/forum:splitdiscussions&lt;br /&gt;
##mod/forum:movediscussions&lt;br /&gt;
##mod/forum:editanypost&lt;br /&gt;
##mod/forum:viewqandawithoutposting&lt;br /&gt;
##mod/forum:viewsubscribers&lt;br /&gt;
##mod/forum:managesubscriptions&lt;br /&gt;
##mod/forum:throttlingapplies&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:view - read entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:viewrating - view ratings&lt;br /&gt;
#Hotpot&lt;br /&gt;
##mod/hotpot:view&lt;br /&gt;
#Label&lt;br /&gt;
##none&lt;br /&gt;
#Lams&lt;br /&gt;
##TBD&lt;br /&gt;
#Lesson&lt;br /&gt;
##TBD&lt;br /&gt;
#Quiz&lt;br /&gt;
##TBD&lt;br /&gt;
#Resource&lt;br /&gt;
##mod/resource:view&lt;br /&gt;
#Scorm&lt;br /&gt;
##mod/scorm:view&lt;br /&gt;
##mod/scorm:viewgrades&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
##Waiting on new wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
##Waiting on new Workshop&lt;br /&gt;
&lt;br /&gt;
===Enrolment-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to enrolment is &#039;enrol/enrol_name:capability&#039;. The enrolment capabilities are defined in enrol/enrol_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Authorize.net Payment Gateway &lt;br /&gt;
##enrol/authorize:managepayments - manage user payments, capture, void, refund, delete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten in the whole scheme of things since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118].&lt;br /&gt;
&lt;br /&gt;
See [http://moodle.org/mod/forum/discuss.php?d=51143 this forum thread] for a discussion about the current problems wth publishing question categories.[[User:Tim Hunt|Tim Hunt]] 18:50, 8 August 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Interface==&lt;br /&gt;
&lt;br /&gt;
Although the Roles system may look complicated at first glance, implementing it in Moodle code is fairly simple.&lt;br /&gt;
&lt;br /&gt;
# You need to define each capability once, so that Moodle can upgrade existing roles to take advantage of it.  You do this in an access.php inside the db folder of any module (eg see mod/forum/db/access.php).  The array contains entries like this (note the descriptions for the legacy roles which provides forward compatibility):&lt;br /&gt;
&lt;br /&gt;
    &#039;mod/forum:viewforum&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;captype&#039; =&amp;gt; &#039;read&#039;,&lt;br /&gt;
        &#039;contextlevel&#039; =&amp;gt; CONTEXT_MODULE,&lt;br /&gt;
        &#039;legacy&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;guest&#039; =&amp;gt; CAP_PREVENT,&lt;br /&gt;
            &#039;student&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;teacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;editingteacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;coursecreator&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;admin&#039; =&amp;gt; CAP_ALLOW&lt;br /&gt;
        )&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
# To load/change these capabilities you need to bump the module version.   There&#039;s no need to provide changes or differences as Moodle will scan the whole array and sort it out.&lt;br /&gt;
# On each page you need to define the context the user is working in.  For example, in the forum module:&lt;br /&gt;
&lt;br /&gt;
  $context = get_context_instance(CONTEXT_MODULE, $cm-&amp;gt;id);&lt;br /&gt;
&lt;br /&gt;
# Then, whenever you want to check that the current user has rights to do something, call has_capability() like this:&lt;br /&gt;
&lt;br /&gt;
    if (!has_capability(&#039;mod/forum:viewforum&#039;, $context-&amp;gt;id)) {&lt;br /&gt;
        print_error(&#039;nopermissiontoviewforum);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario brainstorming==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support.  Note some of these *may* not be possible in 1.7.&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===Peer observer of teaching===&lt;br /&gt;
Many institutions encourage peer observation of teaching, to encourage reflection on practice. In online environments this will be similar to moderation or inspection. The peer observer would need to be able to experience the course &amp;quot;as a student&amp;quot;, but also to be able to view summaries of usage, transcripts of interactions (forums/surveys/polls etc), grades assigned (e.g. in assignments).&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY=3+4 yr olds) and Key Stage 1 (KS1=5+6 yr olds) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary. In Key Stage 2 (KS2=7-11 yr olds) parents would be more monitoring but may join in as well.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 (KS3=12-14 yr olds) and 4 (KS4=15+16 yr olds) this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments. Also in all Key Satges there may be a home-school agreement which may be signed up to. Could this form part of a site policy system that incorporates a tickable list of activities the parent agrees to the child using (blogs/wikis/forums etc.)?&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
Again in the UK, parents have their own independent right of access to a child&#039;s educational records. Obviously, children&#039;s records must not be made available to other parties, including the parents of other children in the same class. Thus it would be necessary to associate parent accounts with their own child&#039;s accounts in such a way that they could, if so desired, have read access to their child&#039;s grades, answers and contributions, but generally not those of other children - this may be problematic in the case of wiki activities or forum posts.&lt;br /&gt;
&lt;br /&gt;
There is some concern that children&#039;s forum contributions etc may be constrained if their parents are able to read all that they write; this may be particularly problematic in areas such as Personal, Social and Health Education (PSHE), where some schools may choose to use obfuscated usernames.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Alumnus=== An ALUMNUS should be able to search for all other ALUMNI of the school, interact with them and be enrolled in a seperate course - which is like a META course with all the content of his learning and interaction - as well as capabilities to be a part of this ALUMNI only course.  All the teachers of courses during school years should automatically be a part of the ALUMNI course .. which means when an ALUMNUS is enrolled in a course, the original teachers of all his courses get enrolled ?  --[[User:Anil Sharma|Anil Sharma]] 20:54, 15 July 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
In schools there is often a book review system. This may be covered by the lending system database but may not in which case a librarian may neeed to have a course area they can create a database template to handle the reviews in which case they may have a normal teacher style role? Off topic but course an integration with common schools database systems would be great.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Student - FERPA rights===&lt;br /&gt;
&lt;br /&gt;
A student that has asserted their FERPA rights to non-disclosure.  Typically includes not publishing their name&lt;br /&gt;
in any public place.  Could include this student only being seen with an &amp;quot;alias&amp;quot; within course spaces.  Is this an attribute rather&lt;br /&gt;
than a role?&lt;br /&gt;
&lt;br /&gt;
===Help Desk===&lt;br /&gt;
&lt;br /&gt;
Help desk agents that have read access for the purposes of trouble shooting.  Some care in placing this role within a hierarchy&lt;br /&gt;
of inheritance is needed, full access will be problematic with FERPA.&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3039</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=3039"/>
		<updated>2006-08-13T17:57:01Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Former Student */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and permissions&#039;&#039;&#039; will be in Moodle 1.7 and are available in the developer version of Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
A role is an identifier of the user&#039;s status in some context, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a description of some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;mod/forum:replypost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
A permission is some value that is assigned for a capability for a particular role.  For example, allow or prevent.&lt;br /&gt;
&lt;br /&gt;
A context is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks etc.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.7}}The new system will allow authorized users to define an arbitrary number of roles (eg a teacher) &lt;br /&gt;
&lt;br /&gt;
A role consists of a list of permissions for different possible actions within Moodle (eg delete discussions, add activities etc)&lt;br /&gt;
&lt;br /&gt;
Roles can be applied to users in a context (eg assign Fred as a teacher in a particular course)&lt;br /&gt;
&lt;br /&gt;
Here are the possible contexts, listed from the most general to the most specific. &lt;br /&gt;
&lt;br /&gt;
#CONTEXT_SYSTEM&lt;br /&gt;
#CONTEXT_PERSONAL&lt;br /&gt;
#CONTEXT_USERID&lt;br /&gt;
#CONTEXT_COURSECAT&lt;br /&gt;
#CONTEXT_COURSE&lt;br /&gt;
#CONTEXT_GROUP&lt;br /&gt;
#CONTEXT_MODULE&lt;br /&gt;
#CONTEXT_BLOCK&lt;br /&gt;
&lt;br /&gt;
An authorized user will be able to assign an arbitrary number of roles to each user in any context.&lt;br /&gt;
&lt;br /&gt;
Capabilities can have the following permissions:&lt;br /&gt;
&lt;br /&gt;
#CAP_INHERIT&lt;br /&gt;
#CAP_ALLOW&lt;br /&gt;
#CAP_PREVENT&lt;br /&gt;
#CAP_PROHIBIT&lt;br /&gt;
&lt;br /&gt;
If no permission is defined, then the capability permission is inherited from a context that is more general than the current context. If we define different permission values for the same capability in different contexts, we say that we are overriding the capability in the more specific context.&lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by enforcing the rule that the capability defined for a more specific context will win, unless a prohibit is encountered in a less specific context.&lt;br /&gt;
&lt;br /&gt;
For example, Mark has a student role at course level, which allows him to write into a wiki. But Mark also got assigned a Visitor role at a module context level (for a particular wiki) which prevents him from writing to the wiki (read only). Therefore, for this particular wiki, Mark will not be able to write to the wiki since the more specific context wins.&lt;br /&gt;
&lt;br /&gt;
If we set a prohibit on a capability, it means that the capability cannot be overridden and will always have a permission of prevent (deny). Prohibit always wins. For example, Jeff has a naughty student role that prohibits him from postings in any forums (for the whole site), but he&#039;s also assigned a facilitator role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since prohibit always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Allow and prevent will cancel each other out if set for the same capability at the same context level. If this happens, we refer to the previous context level to determine the permission for the capability.&lt;br /&gt;
&lt;br /&gt;
This may sound more complex than it really is in practice.  The upshot is that the system can be flexible enough to allow any combination of permissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the existing capabilities will be automatically retained.  This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, mirroring what we have  in 1.6.   With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This will be a comprehensive list of capabilities (it&#039;s not complete yet). It is important that capability names are unique.&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capability names start with &#039;moodle/&#039;.  The next word indicates what type of core capability it is, and the last word is the actual capability itself.  The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#moodle/legacy:guest - legacy capabilities are used to transition existing users to the new roles system during the upgrade to Moodle 1.7&lt;br /&gt;
#moodle/legacy:student&lt;br /&gt;
#moodle/legacy:teacher&lt;br /&gt;
#moodle/legacy:editingteacher&lt;br /&gt;
#moodle/legacy:coursecreator&lt;br /&gt;
#moodle/legacy:admin&lt;br /&gt;
#moodle/site:doanything - special capability, meant for admins, if is set, overrides all other capability settings&lt;br /&gt;
#moodle/site:config - applicable in admin/index.php and config.php (might break down later) : 1)admin/config.php 2)admin/configure.php 3)blocks/admin/block_admin.php load_content_for_site()&lt;br /&gt;
#moodle/site:manageblocks - adding/removing/editing blocks (site, course contexts only for now) : 1)_add_edit_controls moodleblock.class.php &lt;br /&gt;
#moodle/site:backup - can create a course backup : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:restore - can restore into this context : 1)course/category.php 2)block_admin.php&lt;br /&gt;
#moodle/site:import - can import other courses into this context : 1)block_admin.php&lt;br /&gt;
#moodle/site:accessallgroups - able to access all groups irrespective of what group the user is in&lt;br /&gt;
#moodle/blog:view - read blogs&lt;br /&gt;
#moodle/blog:create - write new blog posts&lt;br /&gt;
#moodle/blog:manageofficialtags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:managepersonaltags - create/delete official blog tags that others can use&lt;br /&gt;
#moodle/blog:manageentries - edit/delete all blog entries&lt;br /&gt;
#moodle/course:create - create courses : 1)course/edit.php 2)course/category.php 3)course/index.php&lt;br /&gt;
#moodle/course:delete - create courses : 1)course/category.php&lt;br /&gt;
#moodle/course:update - update course settings&lt;br /&gt;
#moodle/course:view - can use this to find participants&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?) : 1)course/scales.php&lt;br /&gt;
#moodle/course:manageactivities - adding/removing/editing activities and resources (don&#039;t think it makes any sense to split these)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down : 1)blocks/block_admin.php 2)course/scales.php&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, edit, delete : 1)course/groups.php 2)course/group.php&lt;br /&gt;
#moodle/course:visibility - hide/show courses : 1)course/category.php&lt;br /&gt;
#moodle/course:activityvisibility - hide/show activities within a course&lt;br /&gt;
#moodle/course:viewhiddenactivities - able to see activities that have been hidden&lt;br /&gt;
#moodle/category:create - create category : 1)course/index.php&lt;br /&gt;
#moodle/category:delete - delete category : 1)course/index.php&lt;br /&gt;
#moodle/category:update - update category settings : 1)course/category.php&lt;br /&gt;
#moodle/category:visibility - hide/show categories : 1)course/index.php&lt;br /&gt;
#moodle/user:create - create user : 1) user/edit.php&lt;br /&gt;
#moodle/user:delete - delete user : 1) admin/user.php&lt;br /&gt;
#moodle/user:update - update user settings : 1) user/edit.php&lt;br /&gt;
#moodle/user:viewdetails - view personally-identifying user details (e.g. name, photo). This ties in with the &amp;quot;visitor&amp;quot; scenario described below.&lt;br /&gt;
#moodle/calendar:manageownentries - create/edit/delete &lt;br /&gt;
#moodle/calendar:manageentries - create/edit/delete&lt;br /&gt;
#moodle/role:assign - assign roles to users&lt;br /&gt;
#moodle/role:manage - create/edit/delete roles, set capability permissions for each role&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;.  The part before the colon is the full path to the module in the Moodle code.  The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:view- reading the assignment description&lt;br /&gt;
##mod/assignment:submit - turn assignment in&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entries&lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:viewhiddentimedposts&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:viewanyrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
##mod/forum:createattachment&lt;br /&gt;
##mod/forum:deleteownpost&lt;br /&gt;
##mod/forum:deleteanypost&lt;br /&gt;
##mod/forum:splitdiscussions&lt;br /&gt;
##mod/forum:movediscussions&lt;br /&gt;
##mod/forum:editanypost&lt;br /&gt;
##mod/forum:viewqandawithoutposting&lt;br /&gt;
##mod/forum:viewsubscribers&lt;br /&gt;
##mod/forum:managesubscriptions&lt;br /&gt;
##mod/forum:throttlingapplies&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:view - read entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:viewrating - view ratings&lt;br /&gt;
#Hotpot&lt;br /&gt;
##mod/hotpot:view&lt;br /&gt;
#Label&lt;br /&gt;
##none&lt;br /&gt;
#Lams&lt;br /&gt;
##TBD&lt;br /&gt;
#Lesson&lt;br /&gt;
##TBD&lt;br /&gt;
#Quiz&lt;br /&gt;
##TBD&lt;br /&gt;
#Resource&lt;br /&gt;
##mod/resource:view&lt;br /&gt;
#Scorm&lt;br /&gt;
##mod/scorm:view&lt;br /&gt;
##mod/scorm:viewgrades&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
##Waiting on new wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
##Waiting on new Workshop&lt;br /&gt;
&lt;br /&gt;
===Enrolment-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to enrolment is &#039;enrol/enrol_name:capability&#039;. The enrolment capabilities are defined in enrol/enrol_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Authorize.net Payment Gateway &lt;br /&gt;
##enrol/authorize:managepayments - manage user payments, capture, void, refund, delete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten in the whole scheme of things since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118].&lt;br /&gt;
&lt;br /&gt;
See [http://moodle.org/mod/forum/discuss.php?d=51143 this forum thread] for a discussion about the current problems wth publishing question categories.[[User:Tim Hunt|Tim Hunt]] 18:50, 8 August 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programming Interface==&lt;br /&gt;
&lt;br /&gt;
Although the Roles system may look complicated at first glance, implementing it in Moodle code is fairly simple.&lt;br /&gt;
&lt;br /&gt;
# You need to define each capability once, so that Moodle can upgrade existing roles to take advantage of it.  You do this in an access.php inside the db folder of any module (eg see mod/forum/db/access.php).  The array contains entries like this (note the descriptions for the legacy roles which provides forward compatibility):&lt;br /&gt;
&lt;br /&gt;
    &#039;mod/forum:viewforum&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;captype&#039; =&amp;gt; &#039;read&#039;,&lt;br /&gt;
        &#039;contextlevel&#039; =&amp;gt; CONTEXT_MODULE,&lt;br /&gt;
        &#039;legacy&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;guest&#039; =&amp;gt; CAP_PREVENT,&lt;br /&gt;
            &#039;student&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;teacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;editingteacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;coursecreator&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;admin&#039; =&amp;gt; CAP_ALLOW&lt;br /&gt;
        )&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
# To load/change these capabilities you need to bump the module version.   There&#039;s no need to provide changes or differences as Moodle will scan the whole array and sort it out.&lt;br /&gt;
# On each page you need to define the context the user is working in.  For example, in the forum module:&lt;br /&gt;
&lt;br /&gt;
  $context = get_context_instance(CONTEXT_MODULE, $cm-&amp;gt;id);&lt;br /&gt;
&lt;br /&gt;
# Then, whenever you want to check that the current user has rights to do something, call has_capability() like this:&lt;br /&gt;
&lt;br /&gt;
    if (!has_capability(&#039;mod/forum:viewforum&#039;, $context-&amp;gt;id)) {&lt;br /&gt;
        print_error(&#039;nopermissiontoviewforum);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario brainstorming==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support.  Note some of these *may* not be possible in 1.7.&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===Peer observer of teaching===&lt;br /&gt;
Many institutions encourage peer observation of teaching, to encourage reflection on practice. In online environments this will be similar to moderation or inspection. The peer observer would need to be able to experience the course &amp;quot;as a student&amp;quot;, but also to be able to view summaries of usage, transcripts of interactions (forums/surveys/polls etc), grades assigned (e.g. in assignments).&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY=3+4 yr olds) and Key Stage 1 (KS1=5+6 yr olds) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary. In Key Stage 2 (KS2=7-11 yr olds) parents would be more monitoring but may join in as well.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 (KS3=12-14 yr olds) and 4 (KS4=15+16 yr olds) this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments. Also in all Key Satges there may be a home-school agreement which may be signed up to. Could this form part of a site policy system that incorporates a tickable list of activities the parent agrees to the child using (blogs/wikis/forums etc.)?&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
Again in the UK, parents have their own independent right of access to a child&#039;s educational records. Obviously, children&#039;s records must not be made available to other parties, including the parents of other children in the same class. Thus it would be necessary to associate parent accounts with their own child&#039;s accounts in such a way that they could, if so desired, have read access to their child&#039;s grades, answers and contributions, but generally not those of other children - this may be problematic in the case of wiki activities or forum posts.&lt;br /&gt;
&lt;br /&gt;
There is some concern that children&#039;s forum contributions etc may be constrained if their parents are able to read all that they write; this may be particularly problematic in areas such as Personal, Social and Health Education (PSHE), where some schools may choose to use obfuscated usernames.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===ALUMNUS=== An ALUMNUS should be able to search for all other ALUMNI of the school, interact with them and be enrolled in a seperate course - which is like a META course with all the content of his learning and interaction - as well as capabilities to be a part of this ALUMNI only course.  All the teachers of courses during school years should automatically be a part of the ALUMNI course .. which means when an ALUMNUS is enrolled in a course, the original teachers of all his courses get enrolled ?  --[[User:Anil Sharma|Anil Sharma]] 20:54, 15 July 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
In schools there is often a book review system. This may be covered by the lending system database but may not in which case a librarian may neeed to have a course area they can create a database template to handle the reviews in which case they may have a normal teacher style role? Off topic but course an integration with common schools database systems would be great.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Student - FERPA rights===&lt;br /&gt;
&lt;br /&gt;
A student that has asserted their FERPA rights to non-disclosure.  Typically includes not publishing their name&lt;br /&gt;
in any public place.  Could include this student only being seen with an &amp;quot;alias&amp;quot; within course spaces.  Is this an attribute rather&lt;br /&gt;
than a role?&lt;br /&gt;
&lt;br /&gt;
===Help Desk===&lt;br /&gt;
&lt;br /&gt;
Help desk agents that have read access for the purposes of trouble shooting.  Some care in placing this role within a hierarchy&lt;br /&gt;
of inheritance is needed, full access will be problematic with FERPA.&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4805</id>
		<title>Wikindx</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4805"/>
		<updated>2006-08-08T22:53:52Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: changes to 3, added 4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Notes on the possible integration of [http://wikindx.sourceforge.net/index2.html WIKINDX] with Moodle.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://wikindx.sourceforge.net/index2.html WIKINDX]is a free bibliographic and quotations/notes management and article authoring system designed either for single use (on a variety of operating sytems) or multi-user collaborative use across the internet.&lt;br /&gt;
&lt;br /&gt;
Please also see the Moodle Discussion at http://moodle.org/mod/forum/discuss.php?d=23022&lt;br /&gt;
&lt;br /&gt;
Dan Stowell has created a &amp;quot;Wikindx filter&amp;quot; for Moodle which allows you to cross-link to a wikindx entry by typing (for example) wikindx:646. The filter is in contrib CVS, named &amp;quot;filter_wikindx&amp;quot; or can be downloaded at http://download.moodle.org/download.php/modules/filter_wikindx.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outline thoughts on integration...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Do we need to allowing a user already logged into a Moodle site to be seamlessly logged in to a wikindx? Or maybe just use the same login details between the two (like the way that Moodle.org and MoodleDocs works).  If necessary, something could be added to wikindx to enable this. In most cases though, with the right config settings, wikindx will allow any read only request without requiring login.&lt;br /&gt;
&lt;br /&gt;
2. Another issue is how to integrate the paper writing function of Wikindx into Moodle. What about use of the HTML editor? Could it be integrated some way with the Netpublish module? Imagine students or professors being able to use it to write academic papers and then publish those on the Moodle site.  Currently wikindx publishes papers solely to RTF.  It should be simple to publish to HTML since that&#039;s what the raw document is anyway (a matter of adding HTML header/footer, formatting citations and appending bibliographies -- most of this code is already in wikindx but not (yet) made available to the word processor).  Compared to other HTML editors, the only additional options wikindx offers in its version are buttons to import citations, metadata and insert footnotes.  All the rest (barring stats, timestamps, save etc.) are font/text formatting.&lt;br /&gt;
&lt;br /&gt;
3. For the filter above, how do you decide what bibliographic style to present in (APA, Chicago, IEEE etc.)?  Presumably, this is something that could be set in the filter config file.  (Although I haven&#039;t seen the filter in operation, I&#039;m assuming it picks up a properly formatted reference for insert.  Either short (Grimshaw, 2006) or long (Grimshaw, Mark N. 2006, WIKINDX [OSS].) for example. Is the only method of citation available parenthetical? Is it possible to use endnotes (or footnotes) as well?&lt;br /&gt;
&lt;br /&gt;
4. Mark, your remarks in 2 have gotten me thinking. Although not everyone likes the Moodle HTML area editor that much, it still is the standard way of creating text in Moodle and perhaps a way of integrating Wikindx would be to add buttons for Wikindx to it, just like the kind described above in Wikindx&#039;s native editor. I needed to integrate a hieroglyph editor into my site and Janne Mikkonen helped me to add it through a button in the html editor that pops up a window, in which the student type the hieroglyphs they need, and then click a button to have them inserted back into the editor-similar to the way the insert image popup works. I would imagine something similar could be done with Wikindx. The advantage of this is that it would make Wikindx accessible anywhere within Moodle, rather than just as a separate module. You might also want a standalone module option whereby students could collaborate on creating bibliographies together.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4803</id>
		<title>Wikindx</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4803"/>
		<updated>2006-08-08T17:49:57Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Notes on the possible integration of [http://wikindx.sourceforge.net/index2.html WIKINDX] with Moodle.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://wikindx.sourceforge.net/index2.html WIKINDX]is a free bibliographic and quotations/notes management and article authoring system designed either for single use (on a variety of operating sytems) or multi-user collaborative use across the internet.&lt;br /&gt;
&lt;br /&gt;
Please also see the Moodle Discussion at http://moodle.org/mod/forum/discuss.php?d=23022&lt;br /&gt;
&lt;br /&gt;
Dan Stowell has created a &amp;quot;Wikindx filter&amp;quot; for Moodle which allows you to cross-link to a wikindx entry by typing (for example) wikindx:646. The filter is in contrib CVS, named &amp;quot;filter_wikindx&amp;quot; or can be downloaded at http://download.moodle.org/download.php/modules/filter_wikindx.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outline thoughts on integration...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Do we need to allowing a user already logged into a Moodle site to be seamlessly logged in to a wikindx? Or maybe just use the same login details between the two (like the way that Moodle.org and MoodleDocs works).&lt;br /&gt;
&lt;br /&gt;
2. Another issue is how to integrate the paper writing function of Wikindx into Moodle. What about use of the HTML editor? Could it be integrated some way with the Netpublish module? Imagine students or professors being able to use it to write academic papers and then publish those on the Moodle site.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4802</id>
		<title>Wikindx</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Wikindx&amp;diff=4802"/>
		<updated>2006-08-08T17:44:19Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Notes on the possible integration of [http://wikindx.sourceforge.net/index2.html WIKINDX] with Moodle.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://wikindx.sourceforge.net/index2.html WIKINDX]is a free bibliographic and quotations/notes management and article authoring system designed either for single use (on a variety of operating sytems) or multi-user collaborative use across the internet.&lt;br /&gt;
&lt;br /&gt;
Please also see the Moodle Discussion at http://moodle.org/mod/forum/discuss.php?d=23022&lt;br /&gt;
&lt;br /&gt;
Dan Stowell has created a &amp;quot;Wikindx filter&amp;quot; for Moodle which allows you to cross-link to a wikindx entry by typing (for example) wikindx:646. The filter is in contrib CVS, named &amp;quot;filter_wikindx&amp;quot; or can be downloaded at http://download.moodle.org/download.php/modules/filter_wikindx.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Outline thoughts on integration...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Do we need to allowing a user already logged into a Moodle site to be seamlessly logged in to a wikindx? Or maybe just use the same login details between the two (like the way that Moodle.org and MoodleDocs works).&lt;br /&gt;
&lt;br /&gt;
2. To really make this useful it would be helpful if it could be integrated in a way that allowed it to be used to author papers with footnotes and/or endnotes directly within Moodle. It think the Wikindx developer was working toward this at some point, but I havent&#039; been following it.&lt;br /&gt;
&lt;br /&gt;
3. Related to number 2 above, I&#039;d love to see it integrated in some way with the new wiki. It would make a great tool for collaborative writing of academic papers.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2976</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2976"/>
		<updated>2006-07-15T12:24:22Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the exisiting capabilities will be retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, which pretty much is what we have  in 1.6. The whole process is automatic so there&#039;s nothing to worry about =). With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capability($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might need refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. It is important that capability names are unique. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Certainly need a canview or cansee capability for parents as linked to their child&#039;s data/contributions.&lt;br /&gt;
&lt;br /&gt;
Do we need to add canview and cansearch logs at site/course/user/group level?&lt;br /&gt;
&lt;br /&gt;
I could use a canview at a course level, if I understand what that means exactly.--[[User:N Hansen|N Hansen]] 19:43, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capabilitie names start with &#039;moodle/&#039;. The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
Do we still keep student view? What is a student view?&lt;br /&gt;
&lt;br /&gt;
#moodle/site:config - applicialbe in admin/index.php and config.php (might break down later)&lt;br /&gt;
#moodle/course:create - create courses&lt;br /&gt;
#moodle/course:view - possibly a capability used for checking student role&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:update - updates a course, i.e. adding/removing/editting activities &lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, delete, add user in etc&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;. The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:read - reading the assignment description&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entry &lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:managediscussions&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:read - view entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:readrate - view rating?&lt;br /&gt;
#Hotpot&lt;br /&gt;
#Label&lt;br /&gt;
#Lams&lt;br /&gt;
#Lesson&lt;br /&gt;
#Quiz&lt;br /&gt;
#Resource&lt;br /&gt;
#Scorm&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
&lt;br /&gt;
==OU Desired Capabilities==&lt;br /&gt;
&lt;br /&gt;
We will use this page to detail the specific capabilities needed to create the roles for the OU. Each capability has three parts:&lt;br /&gt;
&lt;br /&gt;
# the name itself which can be anything and should be simple and short&lt;br /&gt;
# the name of the module it belongs to (&amp;quot;moodle&amp;quot;, &amp;quot;blog&amp;quot;, &amp;quot;course&amp;quot;, &amp;quot;forum&amp;quot; etc)&lt;br /&gt;
# the name of the &amp;quot;class&amp;quot; it belongs to, currently &amp;quot;read&amp;quot; or &amp;quot;write&amp;quot;. We can change &lt;br /&gt;
this in future if we can work out a sensible scheme. This is purely used for the &lt;br /&gt;
GUI to &amp;quot;clump&amp;quot; similar capabilties together&lt;br /&gt;
&lt;br /&gt;
I would recommend we create a table for each module with the name, module and class of the capability&lt;br /&gt;
&lt;br /&gt;
==Moodle Site==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Catagory&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;View Courses&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add User&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move course to another category&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Make course visible to students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;new features? Site wide subscription default/setting&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;optional/forced etc&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;recommended default optional for all OU forums&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;used to ban individuals from Moodle?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - home page ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add Blocks&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;On/Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT &amp;amp; Staff = Off, Admins = On&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add/View users ALs/Staff/Students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = Read (this should be managed through circe or the administrator). Admins = Write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course settings&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course teams = Read, Staff = no access. Admins = write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move blocks?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = off, Admin = on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete resource/page/activity/block &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff= off, Admin = on. As we have no recovery process would it be best to prevent course teams from deleting resource pages &amp;amp; other items on the home page?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;hide items&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, staff=off, admin=on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add resource&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which resource types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add activity&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which activity types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;upload calendar (OU feature?)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write. CTs should not be able to upload a calendar (admin will add this &amp;amp; need to ensure the CT don&#039;t overwrite it with an alternative) &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit calendar&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=write, Staff=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin functions, e.g. back up, restore, import&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit groups&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admins = write CT/Moderators=on staff=read?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - resource page (OU version) ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add authid&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admin=Write, CT=Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add placeholder&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT=Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add RSS feed&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, ct=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/noaccess&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;use to restrict access to pages by role?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forum==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;move discussion to (archive/move feature)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;update this forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=write, CT/Moderator=off? it would be good to break this down further and or premote some defaults for use. e.g subscription I think there should be a server wide default of optional for all OU forums which can&#039;t be oevrriden at the course level.&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;delete message/thread&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off? some course teams won&#039;t want students/als to be able to delete their own posts&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;split&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;post to forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;attach file to message&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blog==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quiz==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wiki==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten in the whole scheme of things since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118].&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY) and Key Stage 1 (KS1) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 and 4 this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments.&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2975</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2975"/>
		<updated>2006-07-15T12:23:54Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the exisiting capabilities will be retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, which pretty much is what we have  in 1.6. The whole process is automatic so there&#039;s nothing to worry about =). With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capability($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might need refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. It is important that capability names are unique. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Certainly need a canview or cansee capability for parents as linked to their child&#039;s data/contributions.&lt;br /&gt;
&lt;br /&gt;
Do we need to add canview and cansearch logs at site/course/user/group level?&lt;br /&gt;
&lt;br /&gt;
I could use a canview at a course level, if I understand what that means exactly.--[[User:N Hansen|N Hansen]] 19:43, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capabilitie names start with &#039;moodle/&#039;. The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
Do we still keep student view? What is a student view?&lt;br /&gt;
&lt;br /&gt;
#moodle/site:config - applicialbe in admin/index.php and config.php (might break down later)&lt;br /&gt;
#moodle/course:create - create courses&lt;br /&gt;
#moodle/course:view - possibly a capability used for checking student role&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:update - updates a course, i.e. adding/removing/editting activities &lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, delete, add user in etc&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;. The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:read - reading the assignment description&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entry &lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:managediscussions&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:read - view entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:readrate - view rating?&lt;br /&gt;
#Hotpot&lt;br /&gt;
#Label&lt;br /&gt;
#Lams&lt;br /&gt;
#Lesson&lt;br /&gt;
#Quiz&lt;br /&gt;
#Resource&lt;br /&gt;
#Scorm&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
&lt;br /&gt;
==OU Desired Capabilities==&lt;br /&gt;
&lt;br /&gt;
We will use this page to detail the specific capabilities needed to create the roles for the OU. Each capability has three parts:&lt;br /&gt;
&lt;br /&gt;
# the name itself which can be anything and should be simple and short&lt;br /&gt;
# the name of the module it belongs to (&amp;quot;moodle&amp;quot;, &amp;quot;blog&amp;quot;, &amp;quot;course&amp;quot;, &amp;quot;forum&amp;quot; etc)&lt;br /&gt;
# the name of the &amp;quot;class&amp;quot; it belongs to, currently &amp;quot;read&amp;quot; or &amp;quot;write&amp;quot;. We can change &lt;br /&gt;
this in future if we can work out a sensible scheme. This is purely used for the &lt;br /&gt;
GUI to &amp;quot;clump&amp;quot; similar capabilties together&lt;br /&gt;
&lt;br /&gt;
I would recommend we create a table for each module with the name, module and class of the capability&lt;br /&gt;
&lt;br /&gt;
==Moodle Site==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Catagory&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;View Courses&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add User&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move course to another category&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Make course visible to students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;new features? Site wide subscription default/setting&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;optional/forced etc&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;recommended default optional for all OU forums&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;used to ban individuals from Moodle?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - home page ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add Blocks&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;On/Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT &amp;amp; Staff = Off, Admins = On&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add/View users ALs/Staff/Students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = Read (this should be managed through circe or the administrator). Admins = Write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course settings&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course teams = Read, Staff = no access. Admins = write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move blocks?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = off, Admin = on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete resource/page/activity/block &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff= off, Admin = on. As we have no recovery process would it be best to prevent course teams from deleting resource pages &amp;amp; other items on the home page?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;hide items&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, staff=off, admin=on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add resource&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which resource types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add activity&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which activity types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;upload calendar (OU feature?)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write. CTs should not be able to upload a calendar (admin will add this &amp;amp; need to ensure the CT don&#039;t overwrite it with an alternative) &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit calendar&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=write, Staff=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin functions, e.g. back up, restore, import&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit groups&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admins = write CT/Moderators=on staff=read?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - resource page (OU version) ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add authid&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admin=Write, CT=Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add placeholder&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT=Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add RSS feed&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, ct=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/noaccess&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;use to restrict access to pages by role?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forum==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;move discussion to (archive/move feature)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;update this forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=write, CT/Moderator=off? it would be good to break this down further and or premote some defaults for use. e.g subscription I think there should be a server wide default of optional for all OU forums which can&#039;t be oevrriden at the course level.&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;delete message/thread&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off? some course teams won&#039;t want students/als to be able to delete their own posts&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;split&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;post to forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;attach file to message&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blog==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quiz==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wiki==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118].&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY) and Key Stage 1 (KS1) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 and 4 this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments.&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2974</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2974"/>
		<updated>2006-07-15T12:23:38Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the exisiting capabilities will be retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, which pretty much is what we have  in 1.6. The whole process is automatic so there&#039;s nothing to worry about =). With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capability($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might need refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. It is important that capability names are unique. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Certainly need a canview or cansee capability for parents as linked to their child&#039;s data/contributions.&lt;br /&gt;
&lt;br /&gt;
Do we need to add canview and cansearch logs at site/course/user/group level?&lt;br /&gt;
&lt;br /&gt;
I could use a canview at a course level, if I understand what that means exactly.--[[User:N Hansen|N Hansen]] 19:43, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capabilitie names start with &#039;moodle/&#039;. The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
Do we still keep student view? What is a student view?&lt;br /&gt;
&lt;br /&gt;
#moodle/site:config - applicialbe in admin/index.php and config.php (might break down later)&lt;br /&gt;
#moodle/course:create - create courses&lt;br /&gt;
#moodle/course:view - possibly a capability used for checking student role&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:update - updates a course, i.e. adding/removing/editting activities &lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, delete, add user in etc&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;. The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:read - reading the assignment description&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entry &lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:managediscussions&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:read - view entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:readrate - view rating?&lt;br /&gt;
#Hotpot&lt;br /&gt;
#Label&lt;br /&gt;
#Lams&lt;br /&gt;
#Lesson&lt;br /&gt;
#Quiz&lt;br /&gt;
#Resource&lt;br /&gt;
#Scorm&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
&lt;br /&gt;
==OU Desired Capabilities==&lt;br /&gt;
&lt;br /&gt;
We will use this page to detail the specific capabilities needed to create the roles for the OU. Each capability has three parts:&lt;br /&gt;
&lt;br /&gt;
# the name itself which can be anything and should be simple and short&lt;br /&gt;
# the name of the module it belongs to (&amp;quot;moodle&amp;quot;, &amp;quot;blog&amp;quot;, &amp;quot;course&amp;quot;, &amp;quot;forum&amp;quot; etc)&lt;br /&gt;
# the name of the &amp;quot;class&amp;quot; it belongs to, currently &amp;quot;read&amp;quot; or &amp;quot;write&amp;quot;. We can change &lt;br /&gt;
this in future if we can work out a sensible scheme. This is purely used for the &lt;br /&gt;
GUI to &amp;quot;clump&amp;quot; similar capabilties together&lt;br /&gt;
&lt;br /&gt;
I would recommend we create a table for each module with the name, module and class of the capability&lt;br /&gt;
&lt;br /&gt;
==Moodle Site==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Catagory&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;View Courses&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add User&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move course to another category&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Make course visible to students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;new features? Site wide subscription default/setting&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;optional/forced etc&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;recommended default optional for all OU forums&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;used to ban individuals from Moodle?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - home page ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add Blocks&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;On/Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT &amp;amp; Staff = Off, Admins = On&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add/View users ALs/Staff/Students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = Read (this should be managed through circe or the administrator). Admins = Write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course settings&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course teams = Read, Staff = no access. Admins = write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move blocks?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = off, Admin = on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete resource/page/activity/block &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff= off, Admin = on. As we have no recovery process would it be best to prevent course teams from deleting resource pages &amp;amp; other items on the home page?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;hide items&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, staff=off, admin=on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add resource&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which resource types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add activity&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which activity types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;upload calendar (OU feature?)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write. CTs should not be able to upload a calendar (admin will add this &amp;amp; need to ensure the CT don&#039;t overwrite it with an alternative) &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit calendar&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=write, Staff=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin functions, e.g. back up, restore, import&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit groups&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admins = write CT/Moderators=on staff=read?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - resource page (OU version) ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add authid&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admin=Write, CT=Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add placeholder&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT=Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add RSS feed&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, ct=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/noaccess&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;use to restrict access to pages by role?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forum==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;move discussion to (archive/move feature)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;update this forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=write, CT/Moderator=off? it would be good to break this down further and or premote some defaults for use. e.g subscription I think there should be a server wide default of optional for all OU forums which can&#039;t be oevrriden at the course level.&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;delete message/thread&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off? some course teams won&#039;t want students/als to be able to delete their own posts&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;split&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;post to forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;attach file to message&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blog==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quiz==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wiki==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in [[http://www.moodle.org/bugs/bug.php?op=show&amp;amp;bugid=6118&amp;amp;pos= bug 6118]].&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY) and Key Stage 1 (KS1) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 and 4 this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments.&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2973</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2973"/>
		<updated>2006-07-15T12:21:59Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the exisiting capabilities will be retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, which pretty much is what we have  in 1.6. The whole process is automatic so there&#039;s nothing to worry about =). With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capability($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might need refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. It is important that capability names are unique. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Certainly need a canview or cansee capability for parents as linked to their child&#039;s data/contributions.&lt;br /&gt;
&lt;br /&gt;
Do we need to add canview and cansearch logs at site/course/user/group level?&lt;br /&gt;
&lt;br /&gt;
I could use a canview at a course level, if I understand what that means exactly.--[[User:N Hansen|N Hansen]] 19:43, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Core-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
Moodle core capabilitie names start with &#039;moodle/&#039;. The capabilities for the Moodle core are defined in lib/db/access.php&lt;br /&gt;
Do we still keep student view? What is a student view?&lt;br /&gt;
&lt;br /&gt;
#moodle/site:config - applicialbe in admin/index.php and config.php (might break down later)&lt;br /&gt;
#moodle/course:create - create courses&lt;br /&gt;
#moodle/course:view - possibly a capability used for checking student role&lt;br /&gt;
#moodle/course:viewparticipants - allows a user to view participant list&lt;br /&gt;
#moodle/course:update - updates a course, i.e. adding/removing/editting activities &lt;br /&gt;
#moodle/course:viewscales - view scales (i.e. in a help window?)&lt;br /&gt;
#moodle/course:managescales - add, delete, edit scales, move scales up and down&lt;br /&gt;
#moodle/course:managegroups - managing groups, add, delete, add user in etc&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.&lt;br /&gt;
&lt;br /&gt;
The naming convention for capabilities that are specific to modules and blocks is &#039;mod/mod_name:capability&#039;. The module capabilities are defined in mod/mod_name/db/access.php.&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##mod/assignment:read - reading the assignment description&lt;br /&gt;
##mod/assignment:grade - grading, viewing of list of submitted assignments&lt;br /&gt;
#Chat&lt;br /&gt;
##mod/chat:chat - allows a user to participate in this chat&lt;br /&gt;
##mod/chat:readlog - allows a user to read past chat session logs&lt;br /&gt;
##mod/chat:deletelog - allows a user to delete past chat logs&lt;br /&gt;
#Choice&lt;br /&gt;
##mod/choice:choose - make a choice&lt;br /&gt;
##mod/choice:readresponses - read all responses&lt;br /&gt;
##mod/choice:deleteresponses - deletes all responses&lt;br /&gt;
##mod/choice:downloadresponses - download responses&lt;br /&gt;
#Database&lt;br /&gt;
##mod/data:readentry - reads other people&#039;s entry&lt;br /&gt;
##mod/data:writeentry - add / edit and delete (own) entries&lt;br /&gt;
##mod/data:managetemplates - add, delete, edit fields and templates&lt;br /&gt;
##mod/data:manageentries - edit/delete all entry &lt;br /&gt;
##mod/data:comment - comment&lt;br /&gt;
##mod/data:managecomments - edit/delete all comments&lt;br /&gt;
##mod/data:rate - rate an entry&lt;br /&gt;
##mod/data:approve - approves an entry&lt;br /&gt;
##mod/data:uploadentries - batch upload of entries&lt;br /&gt;
#Exercise&lt;br /&gt;
##mod/exercise:assess&lt;br /&gt;
#Forum&lt;br /&gt;
##mod/forum:viewforum&lt;br /&gt;
##mod/forum:viewdiscussion&lt;br /&gt;
##mod/forum:viewdiscussionsfromallgroups&lt;br /&gt;
##mod/forum:startdiscussion&lt;br /&gt;
##mod/forum:replypost&lt;br /&gt;
##mod/forum:managediscussions&lt;br /&gt;
##mod/forum:viewrating&lt;br /&gt;
##mod/forum:rate&lt;br /&gt;
#Glossary&lt;br /&gt;
##mod/glossary:read - view entries&lt;br /&gt;
##mod/glossary:write - add entries&lt;br /&gt;
##mod/glossary:manageentries - add, edit, delete entries&lt;br /&gt;
##mod/glossary:managecategories - create, delete, edit categories&lt;br /&gt;
##mod/glossary:comment - comment on an entry&lt;br /&gt;
##mod/glossary:managecomments - edit, delete comments&lt;br /&gt;
##mod/glossary:import - import glossaries&lt;br /&gt;
##mod/glossary:export - export glossaries&lt;br /&gt;
##mod/glossary:approve - approve glossaries&lt;br /&gt;
##mod/glossary:rate - rates glossary&lt;br /&gt;
##mod/glossary:readrate - view rating?&lt;br /&gt;
#Hotpot&lt;br /&gt;
#Label&lt;br /&gt;
#Lams&lt;br /&gt;
#Lesson&lt;br /&gt;
#Quiz&lt;br /&gt;
#Resource&lt;br /&gt;
#Scorm&lt;br /&gt;
#Survey&lt;br /&gt;
##mod/survey:download - downloads survery result&lt;br /&gt;
##mod/survey:participate - participate/ do survey&lt;br /&gt;
##mod/survey:readresponses - read all user&#039;s responese&lt;br /&gt;
#Wiki&lt;br /&gt;
#Workshop&lt;br /&gt;
&lt;br /&gt;
==OU Desired Capabilities==&lt;br /&gt;
&lt;br /&gt;
We will use this page to detail the specific capabilities needed to create the roles for the OU. Each capability has three parts:&lt;br /&gt;
&lt;br /&gt;
# the name itself which can be anything and should be simple and short&lt;br /&gt;
# the name of the module it belongs to (&amp;quot;moodle&amp;quot;, &amp;quot;blog&amp;quot;, &amp;quot;course&amp;quot;, &amp;quot;forum&amp;quot; etc)&lt;br /&gt;
# the name of the &amp;quot;class&amp;quot; it belongs to, currently &amp;quot;read&amp;quot; or &amp;quot;write&amp;quot;. We can change &lt;br /&gt;
this in future if we can work out a sensible scheme. This is purely used for the &lt;br /&gt;
GUI to &amp;quot;clump&amp;quot; similar capabilties together&lt;br /&gt;
&lt;br /&gt;
I would recommend we create a table for each module with the name, module and class of the capability&lt;br /&gt;
&lt;br /&gt;
==Moodle Site==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Create Catagory&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;View Courses&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add User&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move course to another category&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Make course visible to students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;new features? Site wide subscription default/setting&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;optional/forced etc&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;recommended default optional for all OU forums&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;used to ban individuals from Moodle?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - home page ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add Blocks&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;On/Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT &amp;amp; Staff = Off, Admins = On&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add/View users ALs/Staff/Students&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = Read (this should be managed through circe or the administrator). Admins = Write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course settings&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course teams = Read, Staff = no access. Admins = write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Move blocks?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff = off, Admin = on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Delete resource/page/activity/block &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;CT/Staff= off, Admin = on. As we have no recovery process would it be best to prevent course teams from deleting resource pages &amp;amp; other items on the home page?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;hide items&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, staff=off, admin=on&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add resource&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which resource types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add activity&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=on, Staff=off, admin=on used in conjunction with admin filer to restrcit which activity types are listed per course/site&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;upload calendar (OU feature?)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write. CTs should not be able to upload a calendar (admin will add this &amp;amp; need to ensure the CT don&#039;t overwrite it with an alternative) &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit calendar&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=write, Staff=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin functions, e.g. back up, restore, import&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Ct=read, admin=write &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;edit groups&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admins = write CT/Moderators=on staff=read?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Access course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course - resource page (OU version) ==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add authid&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Read/Write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Admin=Write, CT=Read&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;add placeholder&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course (resource page)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT=Off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Add RSS feed&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, ct=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Course resource page&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/noaccess&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;use to restrict access to pages by role?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forum==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;move discussion to (archive/move feature)&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL=off?&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;update this forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=write, CT/Moderator=off? it would be good to break this down further and or premote some defaults for use. e.g subscription I think there should be a server wide default of optional for all OU forums which can&#039;t be oevrriden at the course level.&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;delete message/thread&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off? some course teams won&#039;t want students/als to be able to delete their own posts&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;split&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;admin=on, CT/Moderator=on AL/student=off &amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;post to forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;access forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;read/write/no access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;attach file to message&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;Forum&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;on/off access&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Blog==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quiz==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wiki==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
&amp;lt;table width=60% border=0&amp;gt;&lt;br /&gt;
&amp;lt;tr bgcolor=#EEEEEE&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Name&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Module&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Class&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Comment&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;i&amp;gt;replace&amp;lt;/i&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
I am adding question categories here because they seem to have been forgotten since having been removed from the quiz module itself. I&#039;ve made a suggestion on how these could be handled in bug 6118.&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY) and Key Stage 1 (KS1) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 and 4 this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments.&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evenings often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ru:Роли]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=UK_MoodleMoot_06_hackfest&amp;diff=4221</id>
		<title>UK MoodleMoot 06 hackfest</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=UK_MoodleMoot_06_hackfest&amp;diff=4221"/>
		<updated>2006-07-12T00:30:34Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* 2 What next for the quiz module? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Monday 24th July, 2006&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Welcommen zum Hackfest&#039;&#039; (OK - I&#039;ve been watching too much WorldCup on TV). &lt;br /&gt;
&lt;br /&gt;
The first MoodleMoot hackfest is nearly upon us... and we don&#039;t have an agenda!&lt;br /&gt;
&lt;br /&gt;
This is an open source agenda for the hackfest. We&#039;ll have a day before the Moot to geek out on some code, maybe develop a feature or two, fix some bugs and generally make our favorite learning system a happier place. But I leave it up to you to tell me exactly what we should do. We have four or five rooms with internet connections, a few projectors, and I&#039;ll try to get pizza. &lt;br /&gt;
&lt;br /&gt;
Let&#039;s start by brainstorming some ideas here for a few days. If someone posts something you&#039;re interested in, put your name under it as a vote. The top votes become our central organizing ideas. For example&lt;br /&gt;
&lt;br /&gt;
==1 Bug fixing==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s spend a few hours and hunt down as many outstanding bugs in 1.6 as possible. Bounties for most bugs killed, trickiest bug killed, and most unusual bug killed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m Interested:&#039;&#039;&lt;br /&gt;
# Jason Cole&lt;br /&gt;
# skodak&lt;br /&gt;
# martin langhoff (auth &amp;amp; enrolment specifically).&lt;br /&gt;
# Martin Dougiamas&lt;br /&gt;
# Juliette White (arriving late though!)&lt;br /&gt;
&lt;br /&gt;
(iarenaza) I won&#039;t be there, but here are a couple of bugs for Martin L., related to auth: #4648 and #5373. Very easy to fix :-)&lt;br /&gt;
&lt;br /&gt;
==2 What next for the quiz module?==&lt;br /&gt;
&lt;br /&gt;
If any other quizzy people are there, we should have a talk about where we see the quiz module going.&lt;br /&gt;
&lt;br /&gt;
I/the OU have the following priorities:&lt;br /&gt;
&lt;br /&gt;
# Make question type plugins really plug-in-able. At the moment there are some limitations:&lt;br /&gt;
#* All the lang strings are still in lang/en_utf8/quiz.php.&lt;br /&gt;
#* qtype plugins cannot easily feed CSS and Javascript into the page.&lt;br /&gt;
#* pluggable qtypes and pluggable inport/export filters don&#039;t play nicely together.&lt;br /&gt;
# Write some new question types.&lt;br /&gt;
# Make some improvements to existing question types.&lt;br /&gt;
# Get RQP working again, so our in-house question engine can talk to Moodle.&lt;br /&gt;
&lt;br /&gt;
I&#039;m not going to be there, but I think it would be helpful if you were to discuss ways in which the teacher&#039;s usage of the quiz module could be made more efficient, more in terms of grading than in creating quizzes (as there have already been a lot of improvements in that respect in 1.6). I&#039;ve submitted a lot of bug reports about this already but personally efficiency would be more of a priority to me than new question types.--[[User:N Hansen|N Hansen]] 08:27, 12 July 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m Interested:&#039;&#039;&lt;br /&gt;
# Tim Hunt&lt;br /&gt;
# Jamie Pratt&lt;br /&gt;
&lt;br /&gt;
==Performance profiling==&lt;br /&gt;
&lt;br /&gt;
Pick a (memory|database) hog and put it on a diet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# martin langhoff&lt;br /&gt;
&lt;br /&gt;
(iarenaza) Once again, I won&#039;t be there, but here&#039;s an unfixed bug in 1.6.x and HEAD (was fixed in 1.5.x, but not applied to HEAD at the moment): bug #4591&lt;br /&gt;
&lt;br /&gt;
==Hacking on the OLPC Board==&lt;br /&gt;
&lt;br /&gt;
MartinL will be bringing the OLPC board (if it is booting, and customs allows!) for people to have a play with it. If we have any Mozilla/XUL experts in the house, he will want to explore building a limited cached Moodle UI with it for offline work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We will need some spare parts &amp;amp; hardware to get the board going. I will bring a power supply, but a VGA monitor, USB mouse + keyboard, USB ext disk, USB hub, and open wifi (no ethernet on the board) will be needed. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;JC: We&#039;ll make sure you have the appropriate stuff. I need a USB disk anyway.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# martin langhoff&lt;br /&gt;
# Jason Cole&lt;br /&gt;
&lt;br /&gt;
==How to save/retrieve a complete section from stock?==&lt;br /&gt;
Now the sections become more and more accepted as the tasksets for a week, our teachers wish to have topic oriented stores (courses for the moment) as section stores and want to copy one/more sections form that task store to a clean course..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(In the end we wish that students can select sections from the store to compose their own courses, until the teacher freezes their choice set and the learning game can begin.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
# Ger Tielemans (I arrive a little later, so start with the bugs first, please :))&lt;br /&gt;
# Jan Kater (same arrival=same message as Ger T.)&lt;br /&gt;
&lt;br /&gt;
==How to reveale files outside a course without using datadir for course 1?==&lt;br /&gt;
Can someone explain the right setup and use of the exception array: &lt;br /&gt;
- we want to show a student (after login) only his own file from that store&lt;br /&gt;
- we want to show a teacher/tutor only the files from the students in his course(s)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
# Ger Tielemans&lt;br /&gt;
# Jan Kater&lt;br /&gt;
&lt;br /&gt;
==How to repair the last bug in the old bookmark option ?==&lt;br /&gt;
We changed William&#039;s bookmark in a student only note-taking tool and (thanks Chardelle!) almost repaired the complete bookmark for 1.6. (and it can be accessed from My Page)&lt;br /&gt;
Bug: Only when the user tries to sort the heder in the overview, the text of the headers disappear.&lt;br /&gt;
Code clean-up: how to remove obsolete code and make the bookmark pages secure?&lt;br /&gt;
(Wish for new code: categories are privat, so allow a student to delete a self created category)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
Ger Tielemans&lt;br /&gt;
&lt;br /&gt;
==How to insert a HTML-editor in old code block and make it secure ?==&lt;br /&gt;
To make the set of student note-taking tools complete, I found old code to have a global private notebook.&lt;br /&gt;
(I group this with bookmarks in the calender, so the student has: 1. privat time-related-notes in the calendar, 2. a button for the overview of the privat page-related-notes under the calendar and 3. a global privat notebook for other scribbles..) &lt;br /&gt;
On this moment this piece of code has a flat text editor, would be nice to have HTML or even the new (Ajax?) miniWiki?) &lt;br /&gt;
&lt;br /&gt;
With the new &amp;quot;View as student button&amp;quot; check like if isstudent() {..show..} offers teachers and admins empty - only for real student - spots (so an error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
# Ger Tielemans&lt;br /&gt;
# Jan Kater&lt;br /&gt;
&lt;br /&gt;
== Improve the way we integrate Rubrics in Moodle, like... ==&lt;br /&gt;
http://docs.subjectivemetrics.com/User/cam/rubistar/rs_overview.html&lt;br /&gt;
&lt;br /&gt;
maybe with some flavors of...&lt;br /&gt;
&lt;br /&gt;
http://ipeer.apsc.ubc.ca/ipeer_site/&lt;br /&gt;
&lt;br /&gt;
==Add your suggestion here ...==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go on, you know you want to.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://moodlemoot.org/ http://moodlemoot.org/]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=UK_MoodleMoot_06_hackfest&amp;diff=4220</id>
		<title>UK MoodleMoot 06 hackfest</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=UK_MoodleMoot_06_hackfest&amp;diff=4220"/>
		<updated>2006-07-12T00:27:57Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* 2 What next for the quiz module? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Monday 24th July, 2006&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Welcommen zum Hackfest&#039;&#039; (OK - I&#039;ve been watching too much WorldCup on TV). &lt;br /&gt;
&lt;br /&gt;
The first MoodleMoot hackfest is nearly upon us... and we don&#039;t have an agenda!&lt;br /&gt;
&lt;br /&gt;
This is an open source agenda for the hackfest. We&#039;ll have a day before the Moot to geek out on some code, maybe develop a feature or two, fix some bugs and generally make our favorite learning system a happier place. But I leave it up to you to tell me exactly what we should do. We have four or five rooms with internet connections, a few projectors, and I&#039;ll try to get pizza. &lt;br /&gt;
&lt;br /&gt;
Let&#039;s start by brainstorming some ideas here for a few days. If someone posts something you&#039;re interested in, put your name under it as a vote. The top votes become our central organizing ideas. For example&lt;br /&gt;
&lt;br /&gt;
==1 Bug fixing==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s spend a few hours and hunt down as many outstanding bugs in 1.6 as possible. Bounties for most bugs killed, trickiest bug killed, and most unusual bug killed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m Interested:&#039;&#039;&lt;br /&gt;
# Jason Cole&lt;br /&gt;
# skodak&lt;br /&gt;
# martin langhoff (auth &amp;amp; enrolment specifically).&lt;br /&gt;
# Martin Dougiamas&lt;br /&gt;
# Juliette White (arriving late though!)&lt;br /&gt;
&lt;br /&gt;
(iarenaza) I won&#039;t be there, but here are a couple of bugs for Martin L., related to auth: #4648 and #5373. Very easy to fix :-)&lt;br /&gt;
&lt;br /&gt;
==2 What next for the quiz module?==&lt;br /&gt;
&lt;br /&gt;
If any other quizzy people are there, we should have a talk about where we see the quiz module going.&lt;br /&gt;
&lt;br /&gt;
I/the OU have the following priorities:&lt;br /&gt;
&lt;br /&gt;
# Make question type plugins really plug-in-able. At the moment there are some limitations:&lt;br /&gt;
#* All the lang strings are still in lang/en_utf8/quiz.php.&lt;br /&gt;
#* qtype plugins cannot easily feed CSS and Javascript into the page.&lt;br /&gt;
#* pluggable qtypes and pluggable inport/export filters don&#039;t play nicely together.&lt;br /&gt;
# Write some new question types.&lt;br /&gt;
# Make some improvements to existing question types.&lt;br /&gt;
# Get RQP working again, so our in-house question engine can talk to Moodle.&lt;br /&gt;
&lt;br /&gt;
I&#039;m not going to be there, but I think it would be helpful if you were to discuss ways in which the teacher&#039;s usage of the quiz module could be made more efficient. I&#039;ve submitted a lot of bug reports about this already but personally efficiency would be more of a priority to me than new question types.--[[User:N Hansen|N Hansen]] 08:27, 12 July 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m Interested:&#039;&#039;&lt;br /&gt;
# Tim Hunt&lt;br /&gt;
# Jamie Pratt&lt;br /&gt;
&lt;br /&gt;
==Performance profiling==&lt;br /&gt;
&lt;br /&gt;
Pick a (memory|database) hog and put it on a diet. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# martin langhoff&lt;br /&gt;
&lt;br /&gt;
(iarenaza) Once again, I won&#039;t be there, but here&#039;s an unfixed bug in 1.6.x and HEAD (was fixed in 1.5.x, but not applied to HEAD at the moment): bug #4591&lt;br /&gt;
&lt;br /&gt;
==Hacking on the OLPC Board==&lt;br /&gt;
&lt;br /&gt;
MartinL will be bringing the OLPC board (if it is booting, and customs allows!) for people to have a play with it. If we have any Mozilla/XUL experts in the house, he will want to explore building a limited cached Moodle UI with it for offline work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We will need some spare parts &amp;amp; hardware to get the board going. I will bring a power supply, but a VGA monitor, USB mouse + keyboard, USB ext disk, USB hub, and open wifi (no ethernet on the board) will be needed. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;JC: We&#039;ll make sure you have the appropriate stuff. I need a USB disk anyway.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# martin langhoff&lt;br /&gt;
# Jason Cole&lt;br /&gt;
&lt;br /&gt;
==How to save/retrieve a complete section from stock?==&lt;br /&gt;
Now the sections become more and more accepted as the tasksets for a week, our teachers wish to have topic oriented stores (courses for the moment) as section stores and want to copy one/more sections form that task store to a clean course..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(In the end we wish that students can select sections from the store to compose their own courses, until the teacher freezes their choice set and the learning game can begin.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
# Ger Tielemans (I arrive a little later, so start with the bugs first, please :))&lt;br /&gt;
# Jan Kater (same arrival=same message as Ger T.)&lt;br /&gt;
&lt;br /&gt;
==How to reveale files outside a course without using datadir for course 1?==&lt;br /&gt;
Can someone explain the right setup and use of the exception array: &lt;br /&gt;
- we want to show a student (after login) only his own file from that store&lt;br /&gt;
- we want to show a teacher/tutor only the files from the students in his course(s)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
# Ger Tielemans&lt;br /&gt;
# Jan Kater&lt;br /&gt;
&lt;br /&gt;
==How to repair the last bug in the old bookmark option ?==&lt;br /&gt;
We changed William&#039;s bookmark in a student only note-taking tool and (thanks Chardelle!) almost repaired the complete bookmark for 1.6. (and it can be accessed from My Page)&lt;br /&gt;
Bug: Only when the user tries to sort the heder in the overview, the text of the headers disappear.&lt;br /&gt;
Code clean-up: how to remove obsolete code and make the bookmark pages secure?&lt;br /&gt;
(Wish for new code: categories are privat, so allow a student to delete a self created category)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
Ger Tielemans&lt;br /&gt;
&lt;br /&gt;
==How to insert a HTML-editor in old code block and make it secure ?==&lt;br /&gt;
To make the set of student note-taking tools complete, I found old code to have a global private notebook.&lt;br /&gt;
(I group this with bookmarks in the calender, so the student has: 1. privat time-related-notes in the calendar, 2. a button for the overview of the privat page-related-notes under the calendar and 3. a global privat notebook for other scribbles..) &lt;br /&gt;
On this moment this piece of code has a flat text editor, would be nice to have HTML or even the new (Ajax?) miniWiki?) &lt;br /&gt;
&lt;br /&gt;
With the new &amp;quot;View as student button&amp;quot; check like if isstudent() {..show..} offers teachers and admins empty - only for real student - spots (so an error)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;I&#039;m interested:&#039;&#039;&lt;br /&gt;
# Ger Tielemans&lt;br /&gt;
# Jan Kater&lt;br /&gt;
&lt;br /&gt;
== Improve the way we integrate Rubrics in Moodle, like... ==&lt;br /&gt;
http://docs.subjectivemetrics.com/User/cam/rubistar/rs_overview.html&lt;br /&gt;
&lt;br /&gt;
maybe with some flavors of...&lt;br /&gt;
&lt;br /&gt;
http://ipeer.apsc.ubc.ca/ipeer_site/&lt;br /&gt;
&lt;br /&gt;
==Add your suggestion here ...==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go on, you know you want to.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://moodlemoot.org/ http://moodlemoot.org/]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Quiz_database_structure&amp;diff=27010</id>
		<title>Talk:Quiz database structure</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Quiz_database_structure&amp;diff=27010"/>
		<updated>2006-07-03T01:12:03Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents of the event field are now defined in questionlib.php. Should that fact be added here?--[[User:N Hansen|N Hansen]] 09:12, 3 July 2006 (WST)&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27006</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27006"/>
		<updated>2006-07-02T12:21:06Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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/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;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayor.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.&lt;br /&gt;
&lt;br /&gt;
It would be helpful if when someone creates and lists a new version here they state what version their new version is based on.--[[User:N Hansen|N Hansen]] 04:38, 2 July 2006 (WST)  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(john)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006, based on the version of activity locking released by Stuart Meyor on October 19, 2005. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Johns Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.[http://moodle.org/mod/forum/discuss.php?d=46863#220125  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1 for 1.6(chardelle)&#039;&#039;&#039; - link posted by Chardelle on 25 June 2006, 03:35 PM.  This flavor has a hide future activity function and seems to be functioning on some Moodles but is being tweaked for others. See forum discussion: [http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 Certificate 1.6 with Security discussion in Activity Module forum].The link for the external website is: [http://proemployees.com/ActivityLockingWithHide-1.6.zip  AL v2.1 for 1.6(chardelle)].&lt;br /&gt;
&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;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;br /&gt;
&lt;br /&gt;
Locking a topic is an all-or-nothing proposition. If you lock at topic, you cannot have individual conditions on locking of the items inside that topic. It would be nice if this were not the case.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4026</id>
		<title>Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4026"/>
		<updated>2006-07-02T05:21:28Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* AL Branch 3.s for Moodle 1.6 (Stuart Mayor) */&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;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;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4025</id>
		<title>Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4025"/>
		<updated>2006-07-02T05:18:36Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* AL Branch 2.1 for Moodle 1.6 (Stuart Meyor) */&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 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 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;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;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4024</id>
		<title>Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4024"/>
		<updated>2006-07-02T05:17:59Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* AL Branch 2.1 for Moodle 1.6 (Stuart Mayor) */&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. Bernard Boucher&#039;s version is not based on Stuart&#039;s version 3 anyway.--[[User:N Hansen|N Hansen]] 13:17, 2 July 2006 (WST)&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 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 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;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;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4023</id>
		<title>Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4023"/>
		<updated>2006-07-02T05:17:44Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Installation for 2.1 for Moodle 1.6(Stuart Mayor) */&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 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. Bernard Boucher&#039;s version is not based on Stuart&#039;s version 3 anyway.--[[User:N Hansen|N Hansen]] 13:17, 2 July 2006 (WST)&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 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 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;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;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4022</id>
		<title>Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Activity_Locking&amp;diff=4022"/>
		<updated>2006-07-02T05:17:27Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* AL Branch 2.1 for Moodle 1.6 (Stuart Mayor) */&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 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. Bernard Boucher&#039;s version is not based on Stuart&#039;s version 3 anyway.--[[User:N Hansen|N Hansen]] 13:17, 2 July 2006 (WST)&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 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;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;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27005</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27005"/>
		<updated>2006-07-01T20:38:15Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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/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;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.&lt;br /&gt;
&lt;br /&gt;
It would be helpful if when someone creates and lists a new version here they state what version their new version is based on.--[[User:N Hansen|N Hansen]] 04:38, 2 July 2006 (WST)  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(john)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006, based on the version of activity locking released by Stuart Meyor on October 19, 2005. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Johns Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.[http://moodle.org/mod/forum/discuss.php?d=46863#220125  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1 for 1.6(chardelle)&#039;&#039;&#039; - link posted by Chardelle on 25 June 2006, 03:35 PM.  This flavor has a hide future activity function and seems to be functioning on some Moodles but is being tweaked for others. See forum discussion: [http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 Certificate 1.6 with Security discussion in Activity Module forum].The link for the external website is: [http://proemployees.com/ActivityLockingWithHide-1.6.zip  AL v2.1 for 1.6(chardelle)].&lt;br /&gt;
&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;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;br /&gt;
&lt;br /&gt;
Locking a topic is an all-or-nothing proposition. If you lock at topic, you cannot have individual conditions on locking of the items inside that topic. It would be nice if this were not the case.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27004</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27004"/>
		<updated>2006-07-01T20:36:59Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */  fixed bad links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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/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;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(john)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006, based on the version of activity locking released by Stuart Meyor on October 19, 2005. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Johns Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.[http://moodle.org/mod/forum/discuss.php?d=46863#220125  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1 for 1.6(chardelle)&#039;&#039;&#039; - link posted by Chardelle on 25 June 2006, 03:35 PM.  This flavor has a hide future activity function and seems to be functioning on some Moodles but is being tweaked for others. See forum discussion: [http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 Certificate 1.6 with Security discussion in Activity Module forum].The link for the external website is: [http://proemployees.com/ActivityLockingWithHide-1.6.zip  AL v2.1 for 1.6(chardelle)].&lt;br /&gt;
&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;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;br /&gt;
&lt;br /&gt;
Locking a topic is an all-or-nothing proposition. If you lock at topic, you cannot have individual conditions on locking of the items inside that topic. It would be nice if this were not the case.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27003</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27003"/>
		<updated>2006-06-29T12:22:26Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Future of Conditional Activities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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/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;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(john)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006, based on the version of activity locking released by Stuart Meyor on October 19, 2005. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Johns Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.[http://moodle.org/mod/forum/discuss.php?d=46863#220125:  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1 for 1.6(chardelle)&#039;&#039;&#039; - link posted by Chardelle on 25 June 2006, 03:35 PM.  This flavor has a hide future activity function and seems to be functioning on some Moodles but is being tweaked for others. See forum discussion: [http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 Certificate 1.6 with Security discussion in Activity Module forum].The link for the external website is: [http://proemployees.com/ActivityLockingWithHide-1.6.zip  AL v2.1 for 1.6(chardelle)].&lt;br /&gt;
&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;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;br /&gt;
&lt;br /&gt;
Locking a topic is an all-or-nothing proposition. If you lock at topic, you cannot have individual conditions on locking of the items inside that topic. It would be nice if this were not the case.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27002</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27002"/>
		<updated>2006-06-29T11:34:26Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */ adding extra information and correct misstatement I made&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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/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;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(john)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006, based on the version of activity locking released by Stuart Meyor on October 19, 2005. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Johns Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.[http://moodle.org/mod/forum/discuss.php?d=46863#220125:  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1 for 1.6(chardelle)&#039;&#039;&#039; - link posted by Chardelle on 25 June 2006, 03:35 PM.  This flavor has a hide future activity function and seems to be functioning on some Moodles but is being tweaked for others. See forum discussion: [http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 Certificate 1.6 with Security discussion in Activity Module forum].The link for the external website is: [http://proemployees.com/ActivityLockingWithHide-1.6.zip  AL v2.1 for 1.6(chardelle)].&lt;br /&gt;
&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;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Developer_notes&amp;diff=756</id>
		<title>Developer notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Developer_notes&amp;diff=756"/>
		<updated>2006-06-27T18:40:30Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &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;
*[[Datalib Notes]]&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;
*[[Roles]]&lt;br /&gt;
*[[Improved Payment Plugin]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27001</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=27001"/>
		<updated>2006-06-26T23:54:42Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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/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;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(john)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Johns Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them. Does not allow you to lock entire topics. [http://moodle.org/mod/forum/discuss.php?d=46863#220125:  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1 for 1.6(chardelle)&#039;&#039;&#039; - link posted by Chardelle on 25 June 2006, 03:35 PM.  This flavor has a hide future activity function and seems to be functioning on some Moodles but is being tweaked for others. See forum discussion: [http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 Certificate 1.6 with Security discussion in Activity Module forum].The link for the external website is: [http://proemployees.com/ActivityLockingWithHide-1.6.zip  AL v2.1 for 1.6(chardelle)].&lt;br /&gt;
&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;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=26997</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=26997"/>
		<updated>2006-06-25T12:21:44Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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;
&lt;br /&gt;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(jon)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Jons Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.[http://moodle.org/mod/forum/discuss.php?d=46863#220125:  AL v2.1-M1.6]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=26996</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=26996"/>
		<updated>2006-06-25T12:18:14Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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;
&lt;br /&gt;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(jon)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Jons Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;br /&gt;
&lt;br /&gt;
==Future of Conditional Activities==&lt;br /&gt;
&lt;br /&gt;
Let&#039;s use this to brainstorm additional features of conditional activities we would like to see as well.--[[User:N Hansen|N Hansen]] 20:18, 25 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
One feature that is missing is related to choice module. Making a lock dependent on a choice module instance only makes it so that the student has to view the choice, not actually make a choice. It seems that answering the choice should be required.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=26995</id>
		<title>Talk:Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Talk:Activity_Locking&amp;diff=26995"/>
		<updated>2006-06-25T12:15:23Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose of page==&lt;br /&gt;
I think others have an idea, but some of us are confused about what is what.  I am going through the condiditional activity forum to track what has been posted.   I started with the summary of Alvin Shaffer - Wednesday, 21 June 2006, 08:18 AM as the outline. Comments placed here are out of context and were made by others in the forum threads listed below.  I would like to see the link to the best versions 1.5.3 and 1.6 versions of AL placed on the article page.--[[User:chris collman 2|chris collman 2]] 19:13, 23 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
AL 3.0 is conditional based vs AL 2.1 being more straight forward AL based.&lt;br /&gt;
==Forum Threads==&lt;br /&gt;
These threads link to the Conditional Activity forum.&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;
&lt;br /&gt;
==Releases==&lt;br /&gt;
There seem to be several flavors of AL.  v1 and v2 seemed to be started by Stuart Mayer.  Then Stuart and David Delgado worked independently on v3.   There are v2 and v3 for 1.5 and for 1.6.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(stuart&#039;&#039;&#039;) - released by Stuart on Dec. 1, 2005 - Not a lot of success by forum (not sure if this version is based on pure AL or conditionals) &lt;br /&gt;
*zip &lt;br /&gt;
*zip 1 December 2005, 10:28 AM activitylocking20051201.zip [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(jon)&#039;&#039;&#039;- released by Jon on June 1, 2006 - Modified 2.1 with hides for ver 1.6. Non Block installed based AL , must hack database , etc. Not sure a list of feature differences to V2.1(stuart) &lt;br /&gt;
*zip 12 May 2006, 09:02 AM ActivityLockingV2.1Moodle1.6.7z [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
*zip 15 May 2006, 02:23 AM  AL2_1_debug.zip  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
**Tweak 23 June 2006, 01:45 AM  lock.php  [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v2.1(benard)&#039;&#039;&#039; - released by Bernard on June 21st, 2006. A hack of the Block installer based AL (2.1). So far in testing this version seams to work in 1.6, just not sure what features from Jons Hack are not included (as Chardelle alluded to). Locking seems to work, but setting activity prerequisites to &amp;quot;no&amp;quot; still shows them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(stuart)&#039;&#039;&#039; - Modified files to try to hack AL ver 3.0 for 1.6 released by Chardelle on June 15th, 2006 - (Stuart released Ver 3.0 AL for 1.5.X code) not a working version due to the quiz module changes and other issues (hopefully stuart is working on a 1.6 version) &lt;br /&gt;
*zip 29 April 2006, 11:42 AM activitylocking_1.6_beta3.zip   [http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] (posted Eduardo)&lt;br /&gt;
*zip 14 June 2006, 01:18 PM al_ver3_for16.ZIP [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted Chardelle)&lt;br /&gt;
**tweak 6 June 2006, 02:55 AM mysql.sql [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
*zip 1 June 2006, 04:16 AM ActivityLockingWithHide.7z [http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] (posted John G)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AL v3.0(david)&#039;&#039;&#039; - David Delgado&#039;s group&lt;br /&gt;
*zip 9 February 2006, 09:09 AM moodle-1.5.2.zip (for Windows) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] &lt;br /&gt;
*zip  9 February 2006, 09:09 moodle-1.5.2.tgz (for Linux and Unix) [http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD]&lt;br /&gt;
*zip SOURCE CODE.&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=UTF-8_contrib&amp;diff=3199</id>
		<title>UTF-8 contrib</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=UTF-8_contrib&amp;diff=3199"/>
		<updated>2006-06-22T13:32:02Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Contrib modules which don&amp;#039;t contain migration scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[UTF-8 migration]] &amp;gt; Contrib&lt;br /&gt;
&lt;br /&gt;
==How to make your contrib module work for the UTF-8 migration process==&lt;br /&gt;
&lt;br /&gt;
The UTF-8 migration script traverse Moodle modules same way as the module upgrade process. &lt;br /&gt;
&lt;br /&gt;
For the purpose of making Moodle totally UTF-8, every field of type (varchar, text, enum) will need to be converted to UTF-8.&lt;br /&gt;
&lt;br /&gt;
To do this, you need to put 2 files in the db folder, where the mysql.sql and postgres.sql files are. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;migrate2utf8.xml&#039;&#039; defines what fields to be converted. Every field needs a type and a length, and if applicable, index information (see below). There are 3 methods associated with each field:&lt;br /&gt;
&lt;br /&gt;
#-NO_CONV is for those fields that could only contain English Chars, written by Moodle.&lt;br /&gt;
#-PLAIN_SQL_UPDATE is used when you can find both the user language and course language for that record using 1 SQL conveniently. If you use this method you must include both sqls for the user lang and the course lang.&lt;br /&gt;
#-PHP_FUNCTION is used when the detection of userlang or courselang is more difficult, or more sophisticated methods are needed for the conversion (e.g. serialized objects, or when you need to append _utf8 to a lang field etc)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;migrate2utf8.php&#039;&#039; defines each php function included to do the conversion. &lt;br /&gt;
&lt;br /&gt;
Please look at &#039;&#039;forum/db&#039;&#039; for the exact formats of these files. &lt;br /&gt;
&lt;br /&gt;
All indexes need to be dropped prior to (or at the same time) the processing this field. This can be done using dropindex or dropprimary. After the field is processed, you need to add the indexes back using addindex, adduniqueindex, or addprimary. If you don&#039;t have enough fields in the table to do addindex or dropindex, you can add arbitrary number of dummy fields (see &#039;&#039;scorm/db/migrate2utf8.xlm&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
To test the migration, please don&#039;t forget to turn debug on.&lt;br /&gt;
&lt;br /&gt;
==Contrib modules which don&#039;t contain migration scripts==&lt;br /&gt;
&lt;br /&gt;
Flashcard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please list names of other modules here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Manually converting a table to UTF-8==&lt;br /&gt;
&lt;br /&gt;
If you have extra tables that contain text in &#039;&#039;&#039;English&#039;&#039;&#039; or &#039;&#039;&#039;UTF encoding&#039;&#039;&#039; from Moodle 1.5,&lt;br /&gt;
and you want to convert them manually to be used under 1.6, you can do it using PhpMyAdmin (or direct SQL) here is a procedure: (&#039;&#039;&#039;Please make a backup first&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
1. For every textual field in the table, (i.e. varchar, char, text, longtext, enum etc), you need to change the column encoding to UTF8.&lt;br /&gt;
&lt;br /&gt;
Before you can change the column encoding to UTF8, you have to make sure that this column is not associated with any index. If it is, you need to drop the index(es), and add them back later, so please remember what the index is before proceeding. &lt;br /&gt;
&lt;br /&gt;
The SQL to drop an index is&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE &#039;tablename&#039; DROP INDEX &#039;indexname&#039;;&lt;br /&gt;
&lt;br /&gt;
Example, &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALTER TABLE mdl_forum_posts DROP INDEX forum_posts_subject_idx;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQLs to change column encoding to UTF8 is&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE &#039;tablename&#039; CHANGE &#039;fieldname&#039; &#039;fieldname&#039; LONGBLOB;&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE &#039;tablename&#039; CHANGE &#039;fieldname&#039; &#039;fieldname&#039; original_type CHARACTER SET utf8 NOT NULL DEFAULT defaultvalue;&lt;br /&gt;
&lt;br /&gt;
Example, &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALTER TABLE mdl_forum_posts CHANGE subject subject LONGBLOB;&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE mdl_forum_posts CHANGE subject subject varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT &#039;&#039;;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, if applicable, you need to add the index back.&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE ADD INDEX &#039;indexname&#039; &#039;indexvar&#039;;&lt;br /&gt;
&lt;br /&gt;
Example,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALTER TABLE mdl_forum_posts ADD INDEX forum_posts_subject_idx(subject(255));&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2. After all columns have been converted to UTF8 encoding, you can change the table encoding to UTF8.&lt;br /&gt;
&lt;br /&gt;
ALTER TABLE &#039;tablename&#039; CHARACTER SET utf8;&lt;br /&gt;
&lt;br /&gt;
Example,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALTER TABLE mdl_forum_posts CHARACTER SET utf8;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3. And you are done!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:UTF-8|Contrib]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2910</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2910"/>
		<updated>2006-06-12T11:54:04Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Teacher */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the exisiting capabilities will be retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, which pretty much is what we have  in 1.6. The whole process is automatic so there&#039;s nothing to worry about =). With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capabity($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might needs refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Certainly need a canview or cansee capability for parents as linked to their childs data/contributions.&lt;br /&gt;
&lt;br /&gt;
Do we need to add canview and cansearch logs at site/course/user/group level?&lt;br /&gt;
&lt;br /&gt;
I could use a canview at a course level, if I understand what that means exactly.--[[User:N Hansen|N Hansen]] 19:43, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Site-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#canconfigsitevariables - applcialbe in admin/config.php&lt;br /&gt;
#canreadblogs&lt;br /&gt;
#canpostblogs&lt;br /&gt;
#candeleteallblogs&lt;br /&gt;
#canbrowseuser&lt;br /&gt;
#canviewhiddenactivity&lt;br /&gt;
#cancreatecourse&lt;br /&gt;
#caneditownprofile&lt;br /&gt;
#caneditallprofiles&lt;br /&gt;
&lt;br /&gt;
===Course-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#viewcoursecontent&lt;br /&gt;
#caneditcourse&lt;br /&gt;
#cancreatebackups&lt;br /&gt;
#canrestorebackups&lt;br /&gt;
#cancreateblocks&lt;br /&gt;
#caneditblocks&lt;br /&gt;
#candeleteblocks&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##assignment_canadd&lt;br /&gt;
##assignment_canedit&lt;br /&gt;
##assignment_candelete&lt;br /&gt;
##assignment_cansubmit&lt;br /&gt;
##assignment_mark - marking, viewing of list of submitted assignments&lt;br /&gt;
##assignment_canviewsubmissions&lt;br /&gt;
#Chat&lt;br /&gt;
##chat_canadd&lt;br /&gt;
##chat_canedit&lt;br /&gt;
##chat_candelete&lt;br /&gt;
##chat_canparticipate&lt;br /&gt;
##chat_canviewpastsessions&lt;br /&gt;
#Choice&lt;br /&gt;
##choice_canadd&lt;br /&gt;
##choice_canedit&lt;br /&gt;
##choice_candelete&lt;br /&gt;
##choice_canparticipate&lt;br /&gt;
##choice_canviewresponses&lt;br /&gt;
#Database&lt;br /&gt;
##database_canadd&lt;br /&gt;
##database_canedit&lt;br /&gt;
##databaes_candelete&lt;br /&gt;
##database_canaddentry&lt;br /&gt;
##database_canaddtemplates&lt;br /&gt;
##database_canedittemplates&lt;br /&gt;
##database_candeleteownentry&lt;br /&gt;
##database_candeleteallentry&lt;br /&gt;
##database_cancomment&lt;br /&gt;
##database_candeletecomment&lt;br /&gt;
##database_canrate&lt;br /&gt;
#Exercise&lt;br /&gt;
##exercise_canadd&lt;br /&gt;
##exercise_canedit&lt;br /&gt;
##exercise_candelete&lt;br /&gt;
##exercise_canassess&lt;br /&gt;
#Forum&lt;br /&gt;
##forum_canadd&lt;br /&gt;
##forum_canedit&lt;br /&gt;
##forum_candelete&lt;br /&gt;
##forum_canreadpost&lt;br /&gt;
##forum_canstartnewdiscussion&lt;br /&gt;
##forum_canreply&lt;br /&gt;
##forum_caneditallpost&lt;br /&gt;
##forum_candeleteallpost&lt;br /&gt;
##forum_canrate&lt;br /&gt;
#Glossary&lt;br /&gt;
##glossary_canadd&lt;br /&gt;
##glossary_canedit&lt;br /&gt;
##glossary_candelete&lt;br /&gt;
##glossary_canaddcat&lt;br /&gt;
##glossary_caneditcat&lt;br /&gt;
##glossary_candeletecat&lt;br /&gt;
##glossary_canadditem&lt;br /&gt;
##glossary_candeleteitem&lt;br /&gt;
##glossary_canedititem&lt;br /&gt;
##glossary_cancomment&lt;br /&gt;
##glossary_canimportentries&lt;br /&gt;
##glossary_canexportentries&lt;br /&gt;
##glossary_canapprove&lt;br /&gt;
#Hotpot&lt;br /&gt;
##hotpot_candd&lt;br /&gt;
##hotpot_canedit&lt;br /&gt;
##hotpot_candelete&lt;br /&gt;
##hotpot_canparticipate&lt;br /&gt;
#Label&lt;br /&gt;
##label_canadd&lt;br /&gt;
##label_canedit&lt;br /&gt;
##label_candelete&lt;br /&gt;
#Lams&lt;br /&gt;
##lams_canadd&lt;br /&gt;
##lams_canedit&lt;br /&gt;
##lams_candelete&lt;br /&gt;
#Lesson&lt;br /&gt;
##lesson_canadd&lt;br /&gt;
##lesson_canedit&lt;br /&gt;
##lesson_candelete&lt;br /&gt;
##lesson_canparticipate&lt;br /&gt;
#Quiz&lt;br /&gt;
##quiz_canadd&lt;br /&gt;
##quiz_canedit&lt;br /&gt;
##quiz_candelete&lt;br /&gt;
##quiz_canaddquestion&lt;br /&gt;
##quiz_caneditquestion&lt;br /&gt;
##quiz_candeletequestion&lt;br /&gt;
##quiz_canparticipate&lt;br /&gt;
##quiz_cangrade&lt;br /&gt;
#Resource&lt;br /&gt;
##resource_canadd&lt;br /&gt;
##resource_canedit&lt;br /&gt;
##resource_candelete&lt;br /&gt;
#Scorm&lt;br /&gt;
##scorm_canadd&lt;br /&gt;
##scorm_canedit&lt;br /&gt;
##socrm_candelete&lt;br /&gt;
#Survey&lt;br /&gt;
##survey_canadd&lt;br /&gt;
##survey_canedit&lt;br /&gt;
##survey_candelete&lt;br /&gt;
##survey_canviewresponses&lt;br /&gt;
#Wiki&lt;br /&gt;
##wiki_canadd&lt;br /&gt;
##wiki_canedit&lt;br /&gt;
##wiki_candelete&lt;br /&gt;
##wiki_canstartnewwiki&lt;br /&gt;
##wiki_canparticipate&lt;br /&gt;
#Workshop&lt;br /&gt;
##workshop_canadd&lt;br /&gt;
##workshop_canedit&lt;br /&gt;
##workshop_candelete&lt;br /&gt;
##workshop_cangrade&lt;br /&gt;
##workshop_canparticipate&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for peole involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY) and Key Stage 1 (KS1) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 and 4 this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments.&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evening often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
I would take issue with &amp;quot;teachers should have read access to other teacher&#039;s courses unless explicitly prohibited.&amp;quot; This is a violation of the students&#039; privacy as how they perform and what they do in one class isn&#039;t the business of another teacher. Moreover, in the real world a teacher wouldn&#039;t suddenly go sit in on a colleague&#039;s class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn&#039;t be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2909</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2909"/>
		<updated>2006-06-12T11:43:50Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the exisiting capabilities will be retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, which pretty much is what we have  in 1.6. The whole process is automatic so there&#039;s nothing to worry about =). With no modifications, Moodle will operate exactly the same before and after the upgrade.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capabity($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might needs refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Certainly need a canview or cansee capability for parents as linked to their childs data/contributions.&lt;br /&gt;
&lt;br /&gt;
Do we need to add canview and cansearch logs at site/course/user/group level?&lt;br /&gt;
&lt;br /&gt;
I could use a canview at a course level, if I understand what that means exactly.--[[User:N Hansen|N Hansen]] 19:43, 12 June 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Site-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#canconfigsitevariables - applcialbe in admin/config.php&lt;br /&gt;
#canreadblogs&lt;br /&gt;
#canpostblogs&lt;br /&gt;
#candeleteallblogs&lt;br /&gt;
#canbrowseuser&lt;br /&gt;
#canviewhiddenactivity&lt;br /&gt;
#cancreatecourse&lt;br /&gt;
#caneditownprofile&lt;br /&gt;
#caneditallprofiles&lt;br /&gt;
&lt;br /&gt;
===Course-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#viewcoursecontent&lt;br /&gt;
#caneditcourse&lt;br /&gt;
#cancreatebackups&lt;br /&gt;
#canrestorebackups&lt;br /&gt;
#cancreateblocks&lt;br /&gt;
#caneditblocks&lt;br /&gt;
#candeleteblocks&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##assignment_canadd&lt;br /&gt;
##assignment_canedit&lt;br /&gt;
##assignment_candelete&lt;br /&gt;
##assignment_cansubmit&lt;br /&gt;
##assignment_mark - marking, viewing of list of submitted assignments&lt;br /&gt;
##assignment_canviewsubmissions&lt;br /&gt;
#Chat&lt;br /&gt;
##chat_canadd&lt;br /&gt;
##chat_canedit&lt;br /&gt;
##chat_candelete&lt;br /&gt;
##chat_canparticipate&lt;br /&gt;
##chat_canviewpastsessions&lt;br /&gt;
#Choice&lt;br /&gt;
##choice_canadd&lt;br /&gt;
##choice_canedit&lt;br /&gt;
##choice_candelete&lt;br /&gt;
##choice_canparticipate&lt;br /&gt;
##choice_canviewresponses&lt;br /&gt;
#Database&lt;br /&gt;
##database_canadd&lt;br /&gt;
##database_canedit&lt;br /&gt;
##databaes_candelete&lt;br /&gt;
##database_canaddentry&lt;br /&gt;
##database_canaddtemplates&lt;br /&gt;
##database_canedittemplates&lt;br /&gt;
##database_candeleteownentry&lt;br /&gt;
##database_candeleteallentry&lt;br /&gt;
##database_cancomment&lt;br /&gt;
##database_candeletecomment&lt;br /&gt;
##database_canrate&lt;br /&gt;
#Exercise&lt;br /&gt;
##exercise_canadd&lt;br /&gt;
##exercise_canedit&lt;br /&gt;
##exercise_candelete&lt;br /&gt;
##exercise_canassess&lt;br /&gt;
#Forum&lt;br /&gt;
##forum_canadd&lt;br /&gt;
##forum_canedit&lt;br /&gt;
##forum_candelete&lt;br /&gt;
##forum_canreadpost&lt;br /&gt;
##forum_canstartnewdiscussion&lt;br /&gt;
##forum_canreply&lt;br /&gt;
##forum_caneditallpost&lt;br /&gt;
##forum_candeleteallpost&lt;br /&gt;
##forum_canrate&lt;br /&gt;
#Glossary&lt;br /&gt;
##glossary_canadd&lt;br /&gt;
##glossary_canedit&lt;br /&gt;
##glossary_candelete&lt;br /&gt;
##glossary_canaddcat&lt;br /&gt;
##glossary_caneditcat&lt;br /&gt;
##glossary_candeletecat&lt;br /&gt;
##glossary_canadditem&lt;br /&gt;
##glossary_candeleteitem&lt;br /&gt;
##glossary_canedititem&lt;br /&gt;
##glossary_cancomment&lt;br /&gt;
##glossary_canimportentries&lt;br /&gt;
##glossary_canexportentries&lt;br /&gt;
##glossary_canapprove&lt;br /&gt;
#Hotpot&lt;br /&gt;
##hotpot_candd&lt;br /&gt;
##hotpot_canedit&lt;br /&gt;
##hotpot_candelete&lt;br /&gt;
##hotpot_canparticipate&lt;br /&gt;
#Label&lt;br /&gt;
##label_canadd&lt;br /&gt;
##label_canedit&lt;br /&gt;
##label_candelete&lt;br /&gt;
#Lams&lt;br /&gt;
##lams_canadd&lt;br /&gt;
##lams_canedit&lt;br /&gt;
##lams_candelete&lt;br /&gt;
#Lesson&lt;br /&gt;
##lesson_canadd&lt;br /&gt;
##lesson_canedit&lt;br /&gt;
##lesson_candelete&lt;br /&gt;
##lesson_canparticipate&lt;br /&gt;
#Quiz&lt;br /&gt;
##quiz_canadd&lt;br /&gt;
##quiz_canedit&lt;br /&gt;
##quiz_candelete&lt;br /&gt;
##quiz_canaddquestion&lt;br /&gt;
##quiz_caneditquestion&lt;br /&gt;
##quiz_candeletequestion&lt;br /&gt;
##quiz_canparticipate&lt;br /&gt;
##quiz_cangrade&lt;br /&gt;
#Resource&lt;br /&gt;
##resource_canadd&lt;br /&gt;
##resource_canedit&lt;br /&gt;
##resource_candelete&lt;br /&gt;
#Scorm&lt;br /&gt;
##scorm_canadd&lt;br /&gt;
##scorm_canedit&lt;br /&gt;
##socrm_candelete&lt;br /&gt;
#Survey&lt;br /&gt;
##survey_canadd&lt;br /&gt;
##survey_canedit&lt;br /&gt;
##survey_candelete&lt;br /&gt;
##survey_canviewresponses&lt;br /&gt;
#Wiki&lt;br /&gt;
##wiki_canadd&lt;br /&gt;
##wiki_canedit&lt;br /&gt;
##wiki_candelete&lt;br /&gt;
##wiki_canstartnewwiki&lt;br /&gt;
##wiki_canparticipate&lt;br /&gt;
#Workshop&lt;br /&gt;
##workshop_canadd&lt;br /&gt;
##workshop_canedit&lt;br /&gt;
##workshop_candelete&lt;br /&gt;
##workshop_cangrade&lt;br /&gt;
##workshop_canparticipate&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Student===&lt;br /&gt;
Has this one been missed?&lt;br /&gt;
&lt;br /&gt;
===Site Designers===&lt;br /&gt;
Is there a role for peole involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.&lt;br /&gt;
&lt;br /&gt;
===Educational Authority Adviser===&lt;br /&gt;
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.&lt;br /&gt;
&lt;br /&gt;
===Educational Inspector===&lt;br /&gt;
Someone who will visit the site to verify the school&#039;s self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.&lt;br /&gt;
&lt;br /&gt;
===Second Marker / Moderator===&lt;br /&gt;
A teacher within ths site that has access to assignments and quizzes from another teacher&#039;s course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.&lt;br /&gt;
&lt;br /&gt;
===External Examiner===&lt;br /&gt;
Has all the rights of inpectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent&#039;s role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.&lt;br /&gt;
&lt;br /&gt;
In Early Years (EY) and Key Stage 1 (KS1) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary.&lt;br /&gt;
&lt;br /&gt;
In Key stages 3 and 4 this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.&lt;br /&gt;
&lt;br /&gt;
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments.&lt;br /&gt;
&lt;br /&gt;
Parent&#039;s evening often involve complex booking systems that attempt to get parent&#039;s and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.&lt;br /&gt;
&lt;br /&gt;
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. &lt;br /&gt;
&lt;br /&gt;
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.&lt;br /&gt;
&lt;br /&gt;
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
===Librarian===&lt;br /&gt;
&lt;br /&gt;
Reference Librarians have an active role in most of the courses taught at Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.&lt;br /&gt;
&lt;br /&gt;
===Teacher===&lt;br /&gt;
&lt;br /&gt;
Teachers should have read access to other Teacher&#039;s courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. &lt;br /&gt;
&lt;br /&gt;
I think that what is needed is a simple heirarchy of permissions and levels of granularity.&lt;br /&gt;
&lt;br /&gt;
===Community Education Tutors/Trainers===&lt;br /&gt;
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.&lt;br /&gt;
&lt;br /&gt;
===Secretary/Student Worker===&lt;br /&gt;
&lt;br /&gt;
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.&lt;br /&gt;
&lt;br /&gt;
===Teaching Assistant===&lt;br /&gt;
&lt;br /&gt;
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students&#039; overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker&lt;br /&gt;
&lt;br /&gt;
===Admin - Catgory based===&lt;br /&gt;
&lt;br /&gt;
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A&#039;s area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.&lt;br /&gt;
&lt;br /&gt;
===PROCESS ROLES===&lt;br /&gt;
&lt;br /&gt;
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:&lt;br /&gt;
&amp;lt;li&amp;gt;1. Give a student the role of forum-moderator with edit and chunk-rights&lt;br /&gt;
&amp;lt;li&amp;gt;2. Give students different roles &amp;amp; rights in a Webquest design (and change these roles next week&lt;br /&gt;
&amp;lt;li&amp;gt;3. Give students different resources, depending of their roles in a rolegame/simulation&lt;br /&gt;
&amp;lt;li&amp;gt;4. Give a student the rights to create the section content of next week (and only that week..)&lt;br /&gt;
&amp;lt;li&amp;gt;5. ..&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2881</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2881"/>
		<updated>2006-05-16T11:29:24Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Capabilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capabity($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might needs refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
What about a canview capability? Like for choice, where a person is allowed to see the choice question but not participate in it? --[[User:N Hansen|N Hansen]] 19:29, 16 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
===Site-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#canreadblogs&lt;br /&gt;
#canpostblogs&lt;br /&gt;
#candeleteallblogs&lt;br /&gt;
#canbrowseuser&lt;br /&gt;
#canviewhiddenactivity&lt;br /&gt;
#cancreatecourse&lt;br /&gt;
#caneditownprofile&lt;br /&gt;
#caneditallprofiles&lt;br /&gt;
&lt;br /&gt;
===Course-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#canseecoursecontent&lt;br /&gt;
#caneditcourse&lt;br /&gt;
#cancreatebackups&lt;br /&gt;
#canrestorebackups&lt;br /&gt;
#cancreateblocks&lt;br /&gt;
#caneditblocks&lt;br /&gt;
#candeleteblocks&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##assignment_canadd&lt;br /&gt;
##assignment_canedit&lt;br /&gt;
##assignment_candelete&lt;br /&gt;
##assignment_cansubmit&lt;br /&gt;
##assignment_canmark&lt;br /&gt;
#Chat&lt;br /&gt;
##chat_canadd&lt;br /&gt;
##chat_canedit&lt;br /&gt;
##chat_candelete&lt;br /&gt;
##chat_canparticipate&lt;br /&gt;
#Choice&lt;br /&gt;
##choice_canadd&lt;br /&gt;
##choice_canedit&lt;br /&gt;
##choice_candelete&lt;br /&gt;
##choice_canparticipate&lt;br /&gt;
#Database&lt;br /&gt;
##database_canadd&lt;br /&gt;
##database_canedit&lt;br /&gt;
##databaes_candelete&lt;br /&gt;
##database_canaddentry&lt;br /&gt;
##database_canaddtemplates&lt;br /&gt;
##database_canedittemplates&lt;br /&gt;
##database_candeleteownentry&lt;br /&gt;
##database_candeleteallentry&lt;br /&gt;
#Exercise&lt;br /&gt;
##exercise_canadd&lt;br /&gt;
##exercise_canedit&lt;br /&gt;
##exercise_candelete&lt;br /&gt;
#Forum&lt;br /&gt;
##forum_canadd&lt;br /&gt;
##forum_canedit&lt;br /&gt;
##forum_candelete&lt;br /&gt;
##forum_canreadpost&lt;br /&gt;
##forum_canstartnewdiscussion&lt;br /&gt;
##forum_canreply&lt;br /&gt;
##forum_caneditallpost&lt;br /&gt;
##forum_candeleteallpost&lt;br /&gt;
#Glossary&lt;br /&gt;
##glossary_canadd&lt;br /&gt;
##glossary_canedit&lt;br /&gt;
##glossary_candelete&lt;br /&gt;
##glossary_canaddnewcat&lt;br /&gt;
##glossary_canadditem&lt;br /&gt;
#Hotpot&lt;br /&gt;
##hotpot_candd&lt;br /&gt;
##hotpot_canedit&lt;br /&gt;
##hotpot_candelete&lt;br /&gt;
#Label&lt;br /&gt;
##label_canadd&lt;br /&gt;
##label_canedit&lt;br /&gt;
##label_candelete&lt;br /&gt;
#Lams&lt;br /&gt;
##lams_canadd&lt;br /&gt;
##lams_canedit&lt;br /&gt;
##lams_candelete&lt;br /&gt;
#Lesson&lt;br /&gt;
##lesson_canadd&lt;br /&gt;
##lesson_canedit&lt;br /&gt;
##lesson_candelete&lt;br /&gt;
##lesson_canparticipate&lt;br /&gt;
#Quiz&lt;br /&gt;
##quiz_canadd&lt;br /&gt;
##quiz_canedit&lt;br /&gt;
##quiz_candelete&lt;br /&gt;
##quiz_cantake&lt;br /&gt;
#Resource&lt;br /&gt;
##resource_canadd&lt;br /&gt;
##resource_canedit&lt;br /&gt;
##resource_candelete&lt;br /&gt;
#Scorm&lt;br /&gt;
##scorm_canadd&lt;br /&gt;
##scorm_canedit&lt;br /&gt;
##socrm_candelete&lt;br /&gt;
#Survey&lt;br /&gt;
##survey_canadd&lt;br /&gt;
##survey_canedit&lt;br /&gt;
##survey_candelete&lt;br /&gt;
#Wiki&lt;br /&gt;
##wiki_canadd&lt;br /&gt;
##wiki_canedit&lt;br /&gt;
##wiki_candelete&lt;br /&gt;
##wiki_canstartnewwiki&lt;br /&gt;
##wiki_canparticipate&lt;br /&gt;
#Workshop&lt;br /&gt;
##workshop_canadd&lt;br /&gt;
##workshop_canedit&lt;br /&gt;
##workshop_candelete&lt;br /&gt;
##workshop_canparticipate&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2880</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2880"/>
		<updated>2006-05-16T11:27:15Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Scenarios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;forum_canreadpost&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capabity($capability, $instanceid)&amp;lt;/code&amp;gt; etc. A new API for handling roles and capabilities will be implemented (accesslib.php).&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might needs refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
#Upgrade path for current users. The user information in table user_coursecreators, user_admins, user_teachers, and user_students will most likely be migrated to the new roles and capabilities tables. The users will most likely be assigned default roles that comes with default capabilities (e.g. teachers, admins, students, etc). The old tables themselves could possibly be dropped at the end of the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
This is a comprehensive list of capabilities, well, in the making. Please edit. Should we distinguish canedit and candelete?&lt;br /&gt;
&lt;br /&gt;
===Site-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#canreadblogs&lt;br /&gt;
#canpostblogs&lt;br /&gt;
#candeleteallblogs&lt;br /&gt;
#canbrowseuser&lt;br /&gt;
#canviewhiddenactivity&lt;br /&gt;
#cancreatecourse&lt;br /&gt;
#caneditownprofile&lt;br /&gt;
#caneditallprofiles&lt;br /&gt;
&lt;br /&gt;
===Course-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#canseecoursecontent&lt;br /&gt;
#caneditcourse&lt;br /&gt;
#cancreatebackups&lt;br /&gt;
#canrestorebackups&lt;br /&gt;
#cancreateblocks&lt;br /&gt;
#caneditblocks&lt;br /&gt;
#candeleteblocks&lt;br /&gt;
&lt;br /&gt;
===Module-level Capabilities===&lt;br /&gt;
&lt;br /&gt;
#Assignment&lt;br /&gt;
##assignment_canadd&lt;br /&gt;
##assignment_canedit&lt;br /&gt;
##assignment_candelete&lt;br /&gt;
##assignment_cansubmit&lt;br /&gt;
##assignment_canmark&lt;br /&gt;
#Chat&lt;br /&gt;
##chat_canadd&lt;br /&gt;
##chat_canedit&lt;br /&gt;
##chat_candelete&lt;br /&gt;
##chat_canparticipate&lt;br /&gt;
#Choice&lt;br /&gt;
##choice_canadd&lt;br /&gt;
##choice_canedit&lt;br /&gt;
##choice_candelete&lt;br /&gt;
##choice_canparticipate&lt;br /&gt;
#Database&lt;br /&gt;
##database_canadd&lt;br /&gt;
##database_canedit&lt;br /&gt;
##databaes_candelete&lt;br /&gt;
##database_canaddentry&lt;br /&gt;
##database_canaddtemplates&lt;br /&gt;
##database_canedittemplates&lt;br /&gt;
##database_candeleteownentry&lt;br /&gt;
##database_candeleteallentry&lt;br /&gt;
#Exercise&lt;br /&gt;
##exercise_canadd&lt;br /&gt;
##exercise_canedit&lt;br /&gt;
##exercise_candelete&lt;br /&gt;
#Forum&lt;br /&gt;
##forum_canadd&lt;br /&gt;
##forum_canedit&lt;br /&gt;
##forum_candelete&lt;br /&gt;
##forum_canreadpost&lt;br /&gt;
##forum_canstartnewdiscussion&lt;br /&gt;
##forum_canreply&lt;br /&gt;
##forum_caneditallpost&lt;br /&gt;
##forum_candeleteallpost&lt;br /&gt;
#Glossary&lt;br /&gt;
##glossary_canadd&lt;br /&gt;
##glossary_canedit&lt;br /&gt;
##glossary_candelete&lt;br /&gt;
##glossary_canaddnewcat&lt;br /&gt;
##glossary_canadditem&lt;br /&gt;
#Hotpot&lt;br /&gt;
##hotpot_candd&lt;br /&gt;
##hotpot_canedit&lt;br /&gt;
##hotpot_candelete&lt;br /&gt;
#Label&lt;br /&gt;
##label_canadd&lt;br /&gt;
##label_canedit&lt;br /&gt;
##label_candelete&lt;br /&gt;
#Lams&lt;br /&gt;
##lams_canadd&lt;br /&gt;
##lams_canedit&lt;br /&gt;
##lams_candelete&lt;br /&gt;
#Lesson&lt;br /&gt;
##lesson_canadd&lt;br /&gt;
##lesson_canedit&lt;br /&gt;
##lesson_candelete&lt;br /&gt;
##lesson_canparticipate&lt;br /&gt;
#Quiz&lt;br /&gt;
##quiz_canadd&lt;br /&gt;
##quiz_canedit&lt;br /&gt;
##quiz_candelete&lt;br /&gt;
##quiz_cantake&lt;br /&gt;
#Resource&lt;br /&gt;
##resource_canadd&lt;br /&gt;
##resource_canedit&lt;br /&gt;
##resource_candelete&lt;br /&gt;
#Scorm&lt;br /&gt;
##scorm_canadd&lt;br /&gt;
##scorm_canedit&lt;br /&gt;
##socrm_candelete&lt;br /&gt;
#Survey&lt;br /&gt;
##survey_canadd&lt;br /&gt;
##survey_canedit&lt;br /&gt;
##survey_candelete&lt;br /&gt;
#Wiki&lt;br /&gt;
##wiki_canadd&lt;br /&gt;
##wiki_canedit&lt;br /&gt;
##wiki_candelete&lt;br /&gt;
##wiki_canstartnewwiki&lt;br /&gt;
##wiki_canparticipate&lt;br /&gt;
#Workshop&lt;br /&gt;
##workshop_canadd&lt;br /&gt;
##workshop_canedit&lt;br /&gt;
##workshop_candelete&lt;br /&gt;
##workshop_canparticipate&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Visitor===&lt;br /&gt;
&lt;br /&gt;
This would be a role whereby one could allow a visitor to visit one&#039;s classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one&#039;s site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student&#039;s records that former student role would grant. &lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2855</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2855"/>
		<updated>2006-05-16T01:17:07Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* Former Student */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;can_read_forum_post&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capabity($capability, $instanceid)&amp;lt;/code&amp;gt; etc.&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might needs refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2854</id>
		<title>Roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Roles&amp;diff=2854"/>
		<updated>2006-05-16T01:12:14Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: added former student role&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Roles and capabilities&#039;&#039;&#039; are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please note that none of the following is finalised.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
By roles, we mean an identifier of the user&#039;s status, for example, teacher, student and forum moderator are examples of roles.&lt;br /&gt;
&lt;br /&gt;
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, &#039;&#039;can_read_forum_post&#039;&#039; is a capability.&lt;br /&gt;
&lt;br /&gt;
==The existing system==&lt;br /&gt;
&lt;br /&gt;
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student allows the user to submit an assignment, but doesn&#039;t allow the user to browse/edit other users&#039; work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can&#039;t do that without giving these users teacher privileges.&lt;br /&gt;
&lt;br /&gt;
==The new roles and capability system==&lt;br /&gt;
&lt;br /&gt;
The new system will allow authorized users to define an arbitrary number of roles. Each role can have a customizable set of capabilities in every context. A context can be the whole Moodle site, a course, or a module instance, e.g. quiz 5 in &#039;Introduction to Photography&#039;. An authorized user will be able to assign an arbitrary number of roles to each user. Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by giving roles different &#039;priorities&#039;. For example, to prevent a naughty student from posting, one could assign him a &#039;naughty student&#039; role that does not allow him to post. This role should have a priority higher than that of a normal &#039;student&#039; role. &lt;br /&gt;
&lt;br /&gt;
To facilitate exceptional cases in roles and capabilities, we can use exception rules. For example, we can specify a rule saying that all students are able to mark/read other students&#039; assignment in this particular course. Note that such rules need to have a priority as well. The capability of a user, in any context is then resolved by finding the highest priority role/rule.&lt;br /&gt;
&lt;br /&gt;
==The plan==&lt;br /&gt;
&lt;br /&gt;
There are a few major things that need to be done. Here&#039;s a list (in no particular order):&lt;br /&gt;
&lt;br /&gt;
#Identify permissions required for site/course/each module.&lt;br /&gt;
#Define the database structure for storing roles and capabilities.&lt;br /&gt;
#Recode the whole of Moodle, including all modules to support the new structure. Instead of using &amp;lt;code&amp;gt;isteacher()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;isstudent()&amp;lt;/code&amp;gt; we should be using &amp;lt;code&amp;gt;has_capabity($capability, $instanceid)&amp;lt;/code&amp;gt; etc.&lt;br /&gt;
#Add storage of capabilities for each module. Can be done either in a file, e.g. db/capability.xml, or as a sql file that gets installed to a central db whenever this module is installed. Either way, what do we do when we need to upgrade these capabilities? Some capabilities might needs refining/splitting later on. How do we control the &#039;version&#039; of a capability?&lt;br /&gt;
#Consider interface issues, especially how to manage conflicting role/exception rules.&lt;br /&gt;
#Upon logging in, we should use a cache to store capability, down to module level. How should that be structured?&lt;br /&gt;
#Consider the impact on backup/restore.&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
&lt;br /&gt;
This section is for brainstorming some example roles that we would like to support:&lt;br /&gt;
&lt;br /&gt;
===Parent===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Weekly Seminar Leader===&lt;br /&gt;
&#039;&#039;In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series.  I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students.  This is followed by an in-class discussion and then online homework.  The homework involves some fun quiz questions and then some reflective journal questions.  I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation.  To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course.  Thus &amp;quot;Allow Quiz Authoring Role&amp;quot; or &amp;quot;Allow Assignment Authoring Role&amp;quot; at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Mentor/Mentee===&lt;br /&gt;
&#039;&#039;Please add text here...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Community-Designed Rating Criteria===&lt;br /&gt;
&#039;&#039;The gradebook tends to be the domain of the teacher.  What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Former Student===&lt;br /&gt;
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher&#039;s comments on it, but he would not be allowed to do anything that would take up the teacher&#039;s time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn&#039;t be able to see the names or profiles of any newly enrolled students for privacy reasons. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture] forum discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Future]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Latest_release_notes&amp;diff=25070</id>
		<title>Latest release notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Latest_release_notes&amp;diff=25070"/>
		<updated>2006-05-10T13:08:00Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Moodle 1.6 (Coming soon, currently in Beta testing status)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
* [[UTF-8 migration|Unicode]]&lt;br /&gt;
::Moodle is now 100% Unicode, which means any language can be mixed together and an end to a number of problems that different character sets caused us.&lt;br /&gt;
* [[MoodleDocs development|Documentation]]&lt;br /&gt;
::A new one-stop wiki site for ALL Moodle documentation, including links from Moodle itself&lt;br /&gt;
* [[Database module]]&lt;br /&gt;
::A new activity module that allows collaborative collection of structured data, useful for many things!&lt;br /&gt;
* [[LAMS]]&lt;br /&gt;
::Integrated via a course format and an activity module&lt;br /&gt;
* [[Blogs]]&lt;br /&gt;
::Allows reflection on an ongoing basis.  Entries are marked and can be viewed by user, course, group, site etc.  Contains first new support for [[Tags]].  &lt;br /&gt;
* [[Reports]]&lt;br /&gt;
::All reports are now centralised under Course reports and Admin reports.  New reports can be written as plugins and dropped in very easily.  One big new report is the new course-based statistics system from Catalyst.&lt;br /&gt;
* [[Questions]]&lt;br /&gt;
::A centralized bank of questions with the potential to be (re-)used in a variety of modules.&lt;br /&gt;
* [[My Moodle]]&lt;br /&gt;
::A dashboard interface that allows an overview for each user of all their courses etc.&lt;br /&gt;
* [[Hive integration]]&lt;br /&gt;
::This initial integration with Hive allows teachers to upload, browse, search and select [[Resources|resources]] within the external repository.&lt;br /&gt;
* [[Multiple groups]]&lt;br /&gt;
::Users can be part of multiple groups within a course&lt;br /&gt;
* [[IMS content package]] resource type&lt;br /&gt;
::Supports the loading of any content package as a resource, plus special support for a repository of NLN materials&lt;br /&gt;
* [[Course backup|Granularised backup]]&lt;br /&gt;
* [[Chameleon|Chameleon theme]]&lt;br /&gt;
:: An interactive Moodle theme&lt;br /&gt;
* [[Enrolment plugins|Multi enrolment]]&lt;br /&gt;
::Moodle&#039;s enrolment plugins can be used simultaneously on the same site. Also new [[IMS Enterprise]] enrolment plugin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;&lt;br /&gt;
*[[Special:Whatlinkshere/Template:Moodle_1.6|List of pages including Moodle 1.6 features]]&lt;br /&gt;
&lt;br /&gt;
==Moodle 1.5.4 (very soon)==&lt;br /&gt;
&lt;br /&gt;
(Because this release contains important security fixes, we highly advise that sites using any previous version of Moodle upgrade to this version as soon as possible.)&lt;br /&gt;
&lt;br /&gt;
===A few new things===&lt;br /&gt;
&lt;br /&gt;
* EDIT ME!&lt;br /&gt;
&lt;br /&gt;
===Various fixes===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;General&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Various updates/improvements in the the Environmental Check allowing to check if your server suits future Moodle requirements.&lt;br /&gt;
* Bug 4619. Fixed one DB query not following coding rules.&lt;br /&gt;
* Bug 4607. Avoid duplication of course shortname on restore.&lt;br /&gt;
* Fixed one problem with auto-link filters and frames.&lt;br /&gt;
* Important fixes to muti-byte text handling routines.&lt;br /&gt;
* Small changes to the installer.&lt;br /&gt;
* Bug 3853. Some important improvements in the restore of log actions.&lt;br /&gt;
* Bug 4328. Prevent some warnings in the blocks system.&lt;br /&gt;
* Bug 4341. Extending multi-lang support to the &amp;quot;jumpto&amp;quot; menu (showed in collapsed mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enrolment and metacourses&#039;&#039;&#039;&lt;br /&gt;
* Authorize.net: Postgres support was added.&lt;br /&gt;
* Authorize.net: Address Verification System (AVS) support was added.&lt;br /&gt;
* Authorize.net: $CGF-&amp;gt;login_https must be ON for payment pages.&lt;br /&gt;
* Authorize.net: Shows two forms if the enrolment key of the course is set. (internal &amp;amp; authorize forms)&lt;br /&gt;
* Authorize.net: IIS https fix. It doesn&#039;t recognize empty($_SERVER[&#039;HTTPS&#039;]), but accepts HTTPS=off.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forum Module&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bug 4355. Solved one visualisation problem in the page showing the list of forums.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Glossary Module&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bug 4543, 4713. Fixed some problems with entries and categories containing more than one word in their title.&lt;br /&gt;
* Bug 4858. Fixed one problem with formats, not being detected properly.&lt;br /&gt;
* Bug 4915. Entrylist format now displays the &amp;quot;Send Ratings&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quiz Module&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fixed bug 4250: Added missing percentages to the grade selector&lt;br /&gt;
* Fixed bug 4495: Don&#039;t apply lateness check when teacher previews&lt;br /&gt;
* Fixed bug 4544: Incorrect path to exported files in some language packs&lt;br /&gt;
* Fixed bug 4780: Bug in &amp;quot;Prevent late submissions&amp;quot; setting fixed&lt;br /&gt;
* Fixed bug 5070: Students can&#039;t see quizzes when they are closed&lt;br /&gt;
* Turned off regrading of quizzes that have the attemptonlast option set&lt;br /&gt;
* A number of other minor interface fixes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resource Module&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Solved one problem on restore that was causing some links to become corrupted.&lt;br /&gt;
* Slightly changes to the delete_instance() function in resources to allow future improvements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wiki Module&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Solved one problem sending double-slashed info to DB.&lt;br /&gt;
* Bug 3830. Load of initial content from course file area is now allowed.&lt;br /&gt;
&lt;br /&gt;
==Moodle 1.5.3 (11th November, 2005)==&lt;br /&gt;
&lt;br /&gt;
(Because this release contains important security fixes, we highly advise that sites using any previous version of Moodle upgrade to this version as soon as possible.)&lt;br /&gt;
&lt;br /&gt;
===A few new things===&lt;br /&gt;
&lt;br /&gt;
* We now have SCORM 1.3 (SCORM 2004) support!&lt;br /&gt;
* Much improved Assignment grading interface, including &amp;quot;quick grading&amp;quot; options&lt;br /&gt;
* A new Single-Sign-On API is available&lt;br /&gt;
&lt;br /&gt;
===Various fixes===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;General&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Contains warnings when Moodle is used on an PHP configuration known to be insecure&lt;br /&gt;
* Contains fixes for some recently reported security problems (see [http://security.moodle.org/ security.moodle.org])&lt;br /&gt;
* Backups now runs a lot faster medium/large installs. Many issues fixed in this area&lt;br /&gt;
* Listing of directory sizes can be made much faster on Linux/Unix servers, thanks to a performance fix you can enable from Admin-&amp;gt;Variables: &amp;quot;path_to_du&amp;quot;&lt;br /&gt;
* We now log more meaningful IP addresses when the server or the clients are working behind a proxy&lt;br /&gt;
* Fixed some issues with PHP accelerators&lt;br /&gt;
* Upgrade scripts have been refined and work much better for PostgreSQL installations&lt;br /&gt;
* General PostgreSQL port code cleanup&lt;br /&gt;
* Upgrading to 1.5.3 will fix any legacy Journal to Online Assignment upgrade issues&lt;br /&gt;
* RSS libraries now support RSS 2.0 categories, see bug 3654&lt;br /&gt;
* Better accesibilty in file uploads, see bug 3662&lt;br /&gt;
* Better support for site-wide HTTPS, see bug 3848&lt;br /&gt;
* We now send away bots (like Googlebot) from that try mangled URLs, see bug 3958&lt;br /&gt;
* Better DST support for non-logged-in users&lt;br /&gt;
* Better DST support for repeat events in Calendar&lt;br /&gt;
* Small fixes to the lesson, choice and grade modules&lt;br /&gt;
* Minor CSS improvements to formal_white and orangewhite themes&lt;br /&gt;
* Better pagination in course listing and loglive pages&lt;br /&gt;
* Fixed an IE-only bug related to HTMLArea content where user-edited tables could float and hide part of the UI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Authentication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Fixes to change password/forgotten password with external auth&lt;br /&gt;
* Data fetched from external DB or LDAP is now truncated correctly&lt;br /&gt;
* Fixed bug 4305 -- better login block behaviour when using secureforms&lt;br /&gt;
* Better support for utf-8 user data from external auth&lt;br /&gt;
* LDAP: General fixes covering sync_users script and logging of errors&lt;br /&gt;
* LDAP: Fixed bug 3141 - Can&#039;t update external data with LDAP authentication&lt;br /&gt;
* LDAP: Fixed bug 3992 - LDAP password including a quote does not work - credits go to Kita&lt;br /&gt;
* LDAP: Better support for ActiveDirectory.&lt;br /&gt;
* LDAP: Fixed bug #3594&lt;br /&gt;
* LDAP: Better handling of multi-source field mapping&lt;br /&gt;
* LDAP: Fix for using DN as idnumber - thanks fo Jeff Graham - http://moodle.org/mod/forum/discuss.php?d=28840&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enrolment and metacourses&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Metacourses: Prevent normal users to gain access to meta courses via manual enrolment&lt;br /&gt;
* Metacourses: better support for MySQL v3.23.x&lt;br /&gt;
* DB: Enrolment lookups now work reliably with Moodle on MySQL and Postgres&lt;br /&gt;
* DB: Non-MySQL databases work again as external enrolment databases&lt;br /&gt;
* LDAP: Fixed a wrong call to add_teacher in LDAP plugin.&lt;br /&gt;
* LDAP: Servers being down or unavailable no longer prevent logins&lt;br /&gt;
* LDAP: Course auto-creation works again&lt;br /&gt;
* LDAP: Fixed several bugs reported by Jeff Graham and Barron Koralesky -- including bugs 3912 and 3974&lt;br /&gt;
* LDAP: We can now bind non-anonymously to LDAP&lt;br /&gt;
* Authorize.net: several fixes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resources&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Bugfix: Avoid linking to empty or unlinkable activity names&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forums&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Big and small optimizations to tracking of read/unread messages, specially for PostgreSQL&lt;br /&gt;
* Fixed some PostgreSQL bugs&lt;br /&gt;
* Some more actions are now supported by backup/restore when processing log records, see bug 3582&lt;br /&gt;
* Now message forum RSS feeds are including category data -- useful under some RSS agregators able to group messages, see bug 3654&lt;br /&gt;
* Fixed paging on forum search&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Several performance improvements&lt;br /&gt;
* Fixes to the upgrade process, including PostgreSQL syntax and lower memory usage&lt;br /&gt;
* Brought in several bugfixes from 1.6dev&lt;br /&gt;
* Fixed bug 3478: Cannot add RSS feed as course creator&lt;br /&gt;
* Fixed bug 3793: Prevent warning message when configuring a glossary_random block in a course which has no glossaries&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quiz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Some CSS style fixes&lt;br /&gt;
* Better compatibility with themes that contain forms in the headers&lt;br /&gt;
* Highlighting of correct answers can now be turned off&lt;br /&gt;
* Fixed bug 3986: Too many random questions. (mindforge)&lt;br /&gt;
* Fixed missing action icons&lt;br /&gt;
* Fixed bug 3899 and removed some &#039;missing course object&#039; messages&lt;br /&gt;
* Fixed bug 3950: Ee-attempt button inconsistency for multi-attempt quizzes&lt;br /&gt;
* Fixed bug 3953: Quiz/report.php pagesize can be set to 0, credits to Jean-Michel&lt;br /&gt;
* Fixed potential data data corruption bug 3915&lt;br /&gt;
* Fixed bug 3884: Quiz correct highlights missing for 2 of 3 options.&lt;br /&gt;
* Fix for the Student review highlight doesn&#039;t seem to work bug&lt;br /&gt;
* Fixed bug 3804: Differences in question types between 1.5 and 1.6&lt;br /&gt;
* Fixed bug 3822: don&#039;t count previews as attempts&lt;br /&gt;
* Fixed bug 3807: Question numbering issue&lt;br /&gt;
* Fixes for the item analysis plug-in, assembled by Jean-Michel&lt;br /&gt;
* Now we reset the timeout counter to avoid timeouts&lt;br /&gt;
* Several improvements contributed by Jean-Michel Vedrine. You can now change the number of attempts per page displayed on screen, and download results to Excel/text file, including detailed grades&lt;br /&gt;
* Fixed export bug with non-English languages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SCORM&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* We now support SCORM 1.3 (SCORM 2004)!&lt;br /&gt;
* Fixed a bug with next and prev SCO search&lt;br /&gt;
* Fixed bugs related to masteryscore&lt;br /&gt;
* Fixed a problem in AICC course tracking&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Now paging of older versions is showed and working properly, see bug 3750&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mediaplugin filter now finds multi-line links in HTML code&lt;br /&gt;
* Censor filter: Added original word as title to the blacked-out version. The filter can obscure actual important words by mistake (eg Dickens) and there needs to be some way to recover the meaning&lt;br /&gt;
&lt;br /&gt;
==Moodle 1.5.2 (16th July, 2005) ==&lt;br /&gt;
&lt;br /&gt;
=== Various fixes ===&lt;br /&gt;
&lt;br /&gt;
*  Journal -&amp;gt; Assignment upgrade now works properly :-/&lt;br /&gt;
* Assignment submodules now upgrade as expected&lt;br /&gt;
* Various other bugs with new Assignments fixed&lt;br /&gt;
* Journal module is now disabled by default on new installations&lt;br /&gt;
* Login page is now 100% HTTPS if required&lt;br /&gt;
* Various small standard theme tweaks&lt;br /&gt;
* Fix for recent matching questions display bug in Quiz&lt;br /&gt;
* Language editor no longer creates empty files when not necessary (caused country list bug)&lt;br /&gt;
* Fixed some manifest parsing problems in SCORM module&lt;br /&gt;
* Multilang filter now deals with pack names that contain numbers&lt;br /&gt;
* Files are now force-downloaded (fixes IE problems and some security issues)&lt;br /&gt;
* Relinking debugging output is escaped&lt;br /&gt;
* Large MP3 player now displays ID3 tags properly again&lt;br /&gt;
* Some chat daemon improvements&lt;br /&gt;
&lt;br /&gt;
=== Some new things ===&lt;br /&gt;
&lt;br /&gt;
* Orangewhite theme optimised for use on PDA&lt;br /&gt;
* Forum user posts page can be called without userid&lt;br /&gt;
* Altavista BabelFish now allowed in as guest when Google is&lt;br /&gt;
&lt;br /&gt;
==Moodle 1.5.1 (8th July, 2005) ==&lt;br /&gt;
&lt;br /&gt;
===Various fixes===&lt;br /&gt;
&lt;br /&gt;
* Several potential security problems solved&lt;br /&gt;
* Allowobjectembed setting now works correctly&lt;br /&gt;
* Speed problem on IE, caused by tab hover fixed.&lt;br /&gt;
* Cut and paste in editor on Firefox has a more helpful warning message&lt;br /&gt;
* Fixed a session problem when logged on as admin during upgrade from very old Moodle version&lt;br /&gt;
* Fixed editing problem in Main menu of site&lt;br /&gt;
* Minor CSS display problems in a few areas were fixed&lt;br /&gt;
* Fixed the adding of a single discussion forum&lt;br /&gt;
* Fixed Lesson problems with calculating grades, and dates&lt;br /&gt;
* Fixed Lesson problems with entering a cluster after a page&lt;br /&gt;
* Censor filter was fixed to make it work better with old themes&lt;br /&gt;
&lt;br /&gt;
===Some new things===&lt;br /&gt;
&lt;br /&gt;
* New theme: Wood&lt;br /&gt;
* Metal theme updated for 1.5&lt;br /&gt;
* Many language updates for most languages, including a new language: Khmer&lt;br /&gt;
* Block classes can now run custom code when an instance is created/deleted (this is useful for blocks that need to set up non-trivial data structures)&lt;br /&gt;
* Wizard for Calculated Questions in Quiz was rewritten&lt;br /&gt;
* Backup/Restore module selection is now improved and much easier&lt;br /&gt;
* Backup/Restore module has much improved relinking support, it&#039;s now faster and easier to implement in new modules&lt;br /&gt;
&lt;br /&gt;
==Moodle 1.5 (5th June, 2005) ==&lt;br /&gt;
&lt;br /&gt;
Here you can find the release notes of the current stable version of Moodle. &#039;&#039;&#039;If you experience any bugs in this release, please report them at [http://moodle.org/bugs moodle.org/bugs] so we can fix them in the next release.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Headline features ===&lt;br /&gt;
&lt;br /&gt;
* Web pages are compliant with XHTML Transitional 1.0&lt;br /&gt;
* Improved &#039;&#039;&#039;Accessibility&#039;&#039;&#039;, aiming for compliance with WAI (W3C), SENDA (UK) and Section 508 (US) criteria.&lt;br /&gt;
* Very strong &#039;&#039;&#039;new Themes system&#039;&#039;&#039;, allowing cascading themes, user themes, course themes, with very fine control of every page in Moodle via CSS.&lt;br /&gt;
* Integrated &#039;&#039;&#039;Messaging&#039;&#039;&#039; feature for direct communication between all users in the site, featuring realtime popup windows, notification, email copies, blocking, history, WYSIWYG editor, etc&lt;br /&gt;
* Forum read/unread tracking with highlights allows you to see new postings at a glance and to control how these are displayed (per forum, per user or per site).&lt;br /&gt;
* New &#039;&#039;&#039;Blocks&#039;&#039;&#039; system, allowing multiple copies of blocks and better block configuration&lt;br /&gt;
* Full support for &#039;&#039;&#039;Daylight Savings Time&#039;&#039;&#039; in every locality around the globe, so everyone always see the correct local time for all events.&lt;br /&gt;
* New &#039;&#039;&#039;extended gradebook&#039;&#039;&#039; allowing custom weighting of different activities, setting extra grades (or taking out others) and improved display and sorting options&lt;br /&gt;
* Users can be required to agree to a &#039;&#039;&#039;Site Policy&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Other major system-wide improvements ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Admin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* New &amp;quot;maintenance mode&amp;quot; allows the admin to temporarily disable a site (during upgrades, for example).&lt;br /&gt;
* Moodle can automatically download a new list of timezones from moodle.org or elsewhere and install it to the database (Olson files are supported too)&lt;br /&gt;
* New version of Moodle MySQL Admin module (available separately)&lt;br /&gt;
* New calendar options page provides user interface to configure the behavior of the calendar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Authentication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* New Shibboleth Support&lt;br /&gt;
* New CAS Support&lt;br /&gt;
* New PAM Support&lt;br /&gt;
* Improved LDAP integration, so that LDAP can now control course creation, group assignments. Increased performance and scalability performing user synchronisation.&lt;br /&gt;
* Certain user fields can be locked by the admin when using external authentication&lt;br /&gt;
* Improved session handling now detects &amp;quot;crossover&amp;quot; sessions that we have found in some buggy PHP installations and prevents them&lt;br /&gt;
* Sessions can now be stored in the database (good for clustered installations!)&lt;br /&gt;
* Users can be forced to change their password&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Standardised file browsing in all areas&lt;br /&gt;
* Improved uploading, with support for automated Virus scanning of new documents using ClamAV.&lt;br /&gt;
* Slasharguments now work also on IIS (upgrade to PHP 4.3.11 needed for ISAPI)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Standardised filter library makes it trivial to write new filters that require searching and highlighting of text.&lt;br /&gt;
* Huge efficiency improvements for complex filters like the Glossary filter&lt;br /&gt;
* New Tidy filter uses the W3C Tidy program to (optionally) clean all user-entered texts throughout the site and convert it to valid XHTML code&lt;br /&gt;
* Improved censorship filter, now &amp;quot;blacks out&amp;quot; words using styles and uses a word list from the language packs.&lt;br /&gt;
* Improved Flash MP3 player, now shows progress bar while downloading and playing&lt;br /&gt;
* Improved Multi-language filter is faster, more forgiving of syntax errors, and uses new editor-friendly syntax: &amp;lt;span lang=&amp;quot;en&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* Auto-linking filters (glossary, activities) can work to link all the occurrences (old behaviour), once for each text block or only once for the whole page ($CFG-&amp;gt;filtermatchonepertext, $CFG-&amp;gt;filtermatchoneperpage).&lt;br /&gt;
* More text can now be filtered in Moodle, including activity names, headings and other such small texts. This makes it possible to design completely multi-lingual sites in Moodle that fully appears in the user&#039;s chosen language.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Themes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Modules can provide standard styles&lt;br /&gt;
* Themes can override required styles of other themes&lt;br /&gt;
* Users and courses can choose their own themes if the admin allows it&lt;br /&gt;
* Implementation of tabs interface on many pages&lt;br /&gt;
* Modules, Blocks and Languages can define their own standard styles&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HTML Editor&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The toolbuttons offered in the editor toolbar are now configurable by the admin&lt;br /&gt;
* Search and Replace text within the editor text area (with optional use of regular expressions)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Course management&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Transparent Blackboard 5.5 course importing (partial 6.0 support)&lt;br /&gt;
* The new meta-courses allow to get users automatically enroled in a general course (the metacourse) when enroled in any of the metacourse-linked courses&lt;br /&gt;
* New tool to copy content from a course to other.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* HTML block: allowing to place arbitrary content (text, images links) in any course mainpage&lt;br /&gt;
* Remote RSS feed: allows to display external news channels inside a Moodle course&lt;br /&gt;
* Glossary Selection: to choose and display content from a Moodle glossary in course mainpage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Calendar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Major speed improvements for sites with a large number of courses using groups&lt;br /&gt;
* Repeating events can now be modified or deleted all at the same time or separately as before&lt;br /&gt;
* New &amp;quot;remember filter settings&amp;quot; preference that allows calendar filters to remember their status between logins&lt;br /&gt;
&lt;br /&gt;
=== Activity module improvements ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assignment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Completely refactored into a new class-based design, allowing new plugin-assignment types&lt;br /&gt;
* New Online Text assignment type that doesn&#039;t require files and allows inline comments when grading - this new type effectively replaces the old Journal module&lt;br /&gt;
* Vastly improved grading interface for handling large classes&lt;br /&gt;
* New configuration options to disable late submission and to e-mail alerts to teachers when students submit new work&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Streamlined interface looks smoother, works faster, even without using the optional server daemon&lt;br /&gt;
* Blocks can now be added to chat pages (e.g. for additional information)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Choice&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Rewritten to allow any number of choices&lt;br /&gt;
* The number of users per choice can be limited, which allows it to be used as tool for &amp;quot;signing up&amp;quot; to an array of options.&lt;br /&gt;
* You can now download the results of the choice to XLS or a TXT file&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Powerful new Google-like forum searching tools&lt;br /&gt;
* Forum read/unread tracking - unread messages are highlighted on the course page, forum page, discussion listing and the discussion view&lt;br /&gt;
* The tracking system may be disabled by teachers/users&lt;br /&gt;
* User profiles show all posts by a user, as well as all discussions&lt;br /&gt;
* When admins edit user messages, a notice is attached&lt;br /&gt;
* Discussion listing shows the last user who posted to each discussion and when it was, with a direct link to that post&lt;br /&gt;
* In group-enabled forums the discussion listing shows the group the thread applies to, with a link to the group description page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Glossary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* New setting to enable/disable the print view of each glossary.&lt;br /&gt;
* New search system looks for words everywhere (instead of doing exact phrase match).&lt;br /&gt;
* More information is sent to logs to be able to track activity better.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Journal&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The Journal module has not changed since 1.4, and is now deprecated. The upgrade procedure will convert all your Journal activities into Online Assignments, and hide all the old Journal activities. If you don&#039;t want this to happen, then define this in your config.php: $CFG-&amp;gt;noconvertjournals = true;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Now supports timed Lessons&lt;br /&gt;
* Can create practice Lessons (grades are not stored)&lt;br /&gt;
* Option for students to view points earned while taking the Lesson&lt;br /&gt;
* Allow students to review their answers before submitting the Lesson&lt;br /&gt;
* New Slide Show Mode (only branch tables are displayed as slides)&lt;br /&gt;
* New Left Menu (for enabled branch tables only)&lt;br /&gt;
* Lessons can now be Password Protected&lt;br /&gt;
* A Tree View can be used for the Lesson creation screen&lt;br /&gt;
* Students can post their high scores&lt;br /&gt;
* New option to save a Lesson&#039;s settings as defaults for new lessons in the same course&lt;br /&gt;
* Can delete a student&#039;s attempts&lt;br /&gt;
* New page Jumps:&lt;br /&gt;
** Previous Page&lt;br /&gt;
** Unseen question within a branch&lt;br /&gt;
** Random question within a branch&lt;br /&gt;
** Unseen question within a cluster&lt;br /&gt;
* Added functionality to view Lesson statistics&lt;br /&gt;
* New question type: Essay. Teachers can view each essay and write comments, assign a grade, and then email it all to the student&lt;br /&gt;
* New question creation interface&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quiz&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Can handle adaptive questions, i.e., questions that allow the student to interact with them repeatedly within the same quiz attempt and that can change in response to student answers.&lt;br /&gt;
* Student can be allowed to try a question again immediately within the same quiz attempt until they get the answer right.&lt;br /&gt;
* There is a penalty mechanism that deducts a specified fraction of the mark for each wrong attempt at a question.&lt;br /&gt;
* Allows questions rendered and scored externally (e.g., by mathematical assessment engines) to be integrated seamlessly into Moodle quizzes via the RQP web services protocol.&lt;br /&gt;
* Is prepared for the handling of IMS QTI questions once web services for these become available.&lt;br /&gt;
* New tabbed teacher interface for previewing, editing, and reviewing quizzes.&lt;br /&gt;
* New &amp;quot;improved security&amp;quot; mode shows quiz in a separate full-screen window, with many browser features disabled&lt;br /&gt;
* Quizzes can be presented to students in several pages. The number of questions per page is selectable by the teacher.&lt;br /&gt;
* Blocks can now be added to quiz pages (to show results table, or additional information etc)&lt;br /&gt;
* Better and cleaner interface for question selection and management in the database. Selected questions can be added to quiz, moved to other categories or deleted en mass.&lt;br /&gt;
* Random questions are now added to the quiz question list with a dedicated button, leaving a cleaner interface at questions database without phantom placeholders&lt;br /&gt;
* Final grade can be a fractional number, with teacher-defined decimal figures&lt;br /&gt;
* Improved results page with user-selectable display of columns, cleaner sorting and new mark display options&lt;br /&gt;
* Questions can be edited with one click from the improved quiz preview and question preview screens.&lt;br /&gt;
* Questions can be copied with one click, to allow question variations to be created with ease.&lt;br /&gt;
* Revamped question categories structures and editing interface.&lt;br /&gt;
* Categories now can contain nested subcategories and can be re-ordered.&lt;br /&gt;
* It is possible to select whether questions from categories, and or their subcategories are displayed on the question edit page.&lt;br /&gt;
* It is now possible to select whether to add random questions from a parent category alone, or from a parent category and its sub-categories.&lt;br /&gt;
* Quiz creators are prevented from changing the question set of quizes that have had student responses.&lt;br /&gt;
* Recognition, and rejection, of overlapping/redundant questions has been improved.&lt;br /&gt;
* The display of questions in longer quiz categories on the quiz editing page is now paginated.&lt;br /&gt;
* New export types - IMS QTI (2.0) and xhtml. Improvements &amp;amp; fixes to others.&lt;br /&gt;
* New import type - Hot Potato. Improvements &amp;amp; fixes to others.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scorm&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The module is now fully conformant with the SCORM 1.2 standard.&lt;br /&gt;
* User result data storage and reporting was improved.&lt;br /&gt;
* AICC packages can now be imported.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Survey&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Graph formatting has been improved (labels are more readable)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Changes to wiki pages are now monitored and displayed in Recent Activity block&lt;br /&gt;
* Several under the hood improvements to backup/restore and other routines that enhance the reliability of wikis&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Old releases|1.4.5 release notes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
&lt;br /&gt;
[[es:Notas de versiones]]&lt;br /&gt;
[[fr:Notes de mise à jour]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Developer_documentation&amp;diff=460</id>
		<title>Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Developer_documentation&amp;diff=460"/>
		<updated>2006-04-22T23:53:54Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* How you can contribute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Guidelines==&lt;br /&gt;
The following guidelines are crucial reading for anyone wanting to contribute to the Moodle code base:&lt;br /&gt;
*[[Coding|Coding guidelines]] have to be followed by all Moodle developers&lt;br /&gt;
*[[Moodle architecture]] spells out the basic design goals behind Moodle&lt;br /&gt;
*[[Interface guidelines]] aim to provide a common feel to the Moodle user interface&lt;br /&gt;
*[[CVS (developer)|Moodle CVS for developers]] explains how to work with the Moodle code in CVS&lt;br /&gt;
&lt;br /&gt;
== Resources and tools ==&lt;br /&gt;
&lt;br /&gt;
*[[Developer FAQ]] - frequently asked questions, especially useful for newcomers to Moodle&lt;br /&gt;
*[http://moodle.org/bugs/ Moodle bug tracker] - bug reports, feature requests and other tracked issues&lt;br /&gt;
*[http://moodle.org/mod/forum/view.php?id=55 General developer forum]&lt;br /&gt;
*[http://cvs.sourceforge.net/viewcvs.py/moodle/moodle/ CVS code] - browse the Moodle code via the web&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.sourceforge.net/dhawes-phpdoc/ Moodle PHP doc reference] - automatically generated documentation&lt;br /&gt;
*[http://moodle.org/course/view.php?id=5#4 Development news and discussion] section of Using Moodle course&lt;br /&gt;
*[[Unmerged files]] - changes on the stable branch in CVS that have not been merged to HEAD&lt;br /&gt;
&lt;br /&gt;
==How you can contribute==&lt;br /&gt;
&lt;br /&gt;
The M in Moodle stands for &#039;Modular&#039;. There are many different types of components that you can contribute that can be plugged into Moodle to provide additional functionality. When you have developed a new component please publish it in the [http://moodle.org/mod/data/view.php?id=6009 database of Moodle modules and plugins]. The following types of plugins currently exist (in alphabetical order):&lt;br /&gt;
*[[Modules (developer)|Activity modules]]&lt;br /&gt;
*[[Assignment types]]&lt;br /&gt;
*[[Authentication|Authentication methods]]&lt;br /&gt;
*[[Blocks Howto|Blocks]]&lt;br /&gt;
*[[Course formats]]&lt;br /&gt;
*[[Database fields]]&lt;br /&gt;
*[[Database presets]]&lt;br /&gt;
*[[Enrolment plugins]]&lt;br /&gt;
*[[Filters (developer)|Filters]]&lt;br /&gt;
*[[Question import/export formats]]&lt;br /&gt;
*[[Question types]]&lt;br /&gt;
*[[Quiz reports]]&lt;br /&gt;
*[[Resource types]]&lt;br /&gt;
*[[SSO plugins]]&lt;br /&gt;
&lt;br /&gt;
There are also ways you can contribute that don&#039;t involve PHP programming:&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[Translation|Translations]]&lt;br /&gt;
*[[Database Schemas|Database schemas]]&lt;br /&gt;
&lt;br /&gt;
You can also help a lot by&lt;br /&gt;
*[[Tests|Testing]]&lt;br /&gt;
*[[Bug tracker|Participating in the bug tracker]]&lt;br /&gt;
&lt;br /&gt;
==Plans for the future==&lt;br /&gt;
Ideas for and details of planned future features of Moodle are initially discussed on the forums in the [http://moodle.org/course/view.php?id=5 Using Moodle] course at moodle.org. That developer discussions are intermixed with user discussions in the same forums may seem strange at first but is one of the reasons for the success of Moodle. It is important that both end-users and developers discuss the future features together.&lt;br /&gt;
&lt;br /&gt;
Once ideas begin to crystalize on the forums they can be summarized in this wiki, either as part of the [[Roadmap]] or in the form of [[Developer notes]]. These pages then form the basis for further discussion in the forums.&lt;br /&gt;
*[[Roadmap]]&lt;br /&gt;
*[[Developer notes]]&lt;br /&gt;
*[[Student projects]]&lt;br /&gt;
*[[Developer conference|Developer conferences]]&lt;br /&gt;
&lt;br /&gt;
==Documentation for core components==&lt;br /&gt;
This section is for documentation of specific components of the existing core Moodle code. Discussion of components that are under discussion or in development can be found in the [[Developer notes]] or on the [[Roadmap]].&lt;br /&gt;
&lt;br /&gt;
*[[UTF-8 migration|Migration to UTF-8]]&lt;br /&gt;
*[[Question engine]]&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;
&lt;br /&gt;
==Documentation for contributed code==&lt;br /&gt;
Many Moodle users contribute code for the benefit of other Moodle users. This can take the form of new activity modules, blocks, themes, resource plug-ins, assignment plug-ins, question type plug-ins, question import/export formats, quiz report plug-ins, course formats, ... This code is initially posted on the forums in the [http://moodle.org/course/view.php?id=5 Using Moodle] course and then often go into the [http://cvs.sourceforge.net/viewcvs.py/moodle/contrib/ contrib area] of the Moodle [[CVS]] repository. When you have developed a new component please publish it in the [http://moodle.org/mod/data/view.php?id=6009 database of Moodle modules and plugins]. Developer documentation for these components should be listed here.&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;
&lt;br /&gt;
&lt;br /&gt;
[[es:Documentación para Desarrolladores]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:N_Hansen&amp;diff=19570</id>
		<title>User:N Hansen</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:N_Hansen&amp;diff=19570"/>
		<updated>2006-02-18T14:51:17Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teaching hieroglyphs online at Glyphdoctors[http://www.glyphdoctors.com]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:N_Hansen&amp;diff=19569</id>
		<title>User:N Hansen</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:N_Hansen&amp;diff=19569"/>
		<updated>2006-02-18T14:50:53Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teaching hieroglyphs online at [http://whww.glyphdoctors.com]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Developer_documentation&amp;diff=425</id>
		<title>Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Developer_documentation&amp;diff=425"/>
		<updated>2006-01-29T03:34:03Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Developer notes]]&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;
&lt;br /&gt;
[[Category:Core]]&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=User:Hatshepsut&amp;diff=19500</id>
		<title>User:Hatshepsut</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=User:Hatshepsut&amp;diff=19500"/>
		<updated>2006-01-29T03:11:26Z</updated>

		<summary type="html">&lt;p&gt;Hatshepsut: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teaching Egyptian hieroglyphs online at http://www.glyphdoctors.com&lt;/div&gt;</summary>
		<author><name>Hatshepsut</name></author>
	</entry>
</feed>