<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/404/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trobb</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/404/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Trobb"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/Special:Contributions/Trobb"/>
	<updated>2026-05-09T07:03:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=File:Simple_calculated_first_question_text.jpg&amp;diff=97608</id>
		<title>File:Simple calculated first question text.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=File:Simple_calculated_first_question_text.jpg&amp;diff=97608"/>
		<updated>2012-05-09T05:24:49Z</updated>

		<summary type="html">&lt;p&gt;Trobb: uploaded a new version of &amp;amp;quot;File:Simple calculated first question text.jpg&amp;amp;quot;: Spelling of &amp;#039;height&amp;#039; corrected.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;show the question text of my first Simple calcualted question&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Survey_2_brainstorm&amp;diff=83276</id>
		<title>Development:Survey 2 brainstorm</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Survey_2_brainstorm&amp;diff=83276"/>
		<updated>2011-05-05T22:32:24Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* General features of the Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for collecting feature requests for a new Survey module that replaces Survey, Questionnaire and Feedback.&lt;br /&gt;
&lt;br /&gt;
==General features of the Module==&lt;br /&gt;
* translate previously built survey1, feedback and questionnaire at installation time&lt;br /&gt;
* upload exported feedback or questionnaires (survey1 doesn&#039;t export questionnaires templates)&lt;br /&gt;
* save instances of survey2 as a template to reuse it or export it&lt;br /&gt;
* import saved survey2 templates&lt;br /&gt;
* support for groups and groupings&lt;br /&gt;
* custom user survey2 page layout (custom html and css, as it already is in database module)&lt;br /&gt;
* download of submissions in txt, xls and ods&lt;br /&gt;
* conditional branching&lt;br /&gt;
* handle more than one input form layout (and find a way to allow this or that layout to this or that user).&lt;br /&gt;
* order survey fields in editing mode&lt;br /&gt;
* group fields in the page layout with fieldset&lt;br /&gt;
* relations between tables (Example: one record for the profile of my company one related record for each intervention request submitted by my company)&lt;br /&gt;
* email submissions to students/teachers/both/none&lt;br /&gt;
* email submissions to address specified in a designated question field (for surveys not requiring login)&lt;br /&gt;
* for text fields, simple data checking (&#039;must be numeric&#039;, &#039;must contain X character&#039;, &#039;must have exact length n&#039;, etc.)&lt;br /&gt;
* full web accessibility features to the same level as elsewhere in Moodle e.g. labels on text fields, fieldsets on groups of radio buttons &amp;amp; checkboxes.&lt;br /&gt;
* gradebook integration (to allow simple polls to control conditional activities)&lt;br /&gt;
&lt;br /&gt;
==Instance settings page==&lt;br /&gt;
* Access section: 20 types of survey, distinguished by:&lt;br /&gt;
:-&amp;gt; ppl who is allowed to R/O,&lt;br /&gt;
:-&amp;gt; ppl who is allowed to R/W,&lt;br /&gt;
:-&amp;gt; ppl who is allowed to delete a record&lt;br /&gt;
The reationale is: once a record has been submitted by a user, who is allowed to see it (R/O access)?, who is allowed to edit it (R/W access)?, who is allowed to delete it?&lt;br /&gt;
&lt;br /&gt;
Combining all the options the come out 20 cases are defined as follows where:&lt;br /&gt;
:ALL means, all the people accessing the survey;&lt;br /&gt;
:GROUP means people belonging to the group of the user who submitted the record;&lt;br /&gt;
:OWNER is the user who submitted the record;&lt;br /&gt;
:NONE is none.&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! type&lt;br /&gt;
! R/O&lt;br /&gt;
! R/W&lt;br /&gt;
! delete&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ALL&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* option: allow/deny save without submission (save and restart)&lt;br /&gt;
* option: anonymous survey or named responses&lt;br /&gt;
* option: allow access to records any time/after you&#039;ve submitted/after close date/never&lt;br /&gt;
* opening and closing submission dates&lt;br /&gt;
* number of maximun allowed submission&lt;br /&gt;
* option whether to show results immediately after submission, or a thank you message with link to results.&lt;br /&gt;
&lt;br /&gt;
==Field level settings==&lt;br /&gt;
* type of field (char(n), text, number, alphanumeric, boolean, date, picture, file, email, url...) with type check at submit time (and number of digit check for char(n) fields). This information may not be used at field definition time but is useful for data verification/check.&lt;br /&gt;
&lt;br /&gt;
(Example: Please, enter your card ID: _______ This field should be defined, for instance, as char(7))&lt;br /&gt;
* option: mandatory/non mandatory field&lt;br /&gt;
* free text description field for further description and advices to the completer&lt;br /&gt;
*define a range of valid answers for fields allowing this (see next examples)&lt;br /&gt;
(Example 1:&lt;br /&gt;
Please, enter your seniority. (limited between 0 and 50 years)&lt;br /&gt;
&lt;br /&gt;
Example 2:&lt;br /&gt;
Date of birth: (limited between 18 and 100 years ago))&lt;br /&gt;
*define fields default to be loaded at &amp;quot;new record&amp;quot; display time&lt;br /&gt;
*optional &amp;quot;other&amp;quot; text field for drop down menu/radio button/check box. (see next example)&lt;br /&gt;
(Example for drop down:&lt;br /&gt;
&lt;br /&gt;
 Where were you born? &amp;lt;code&amp;gt;&amp;lt;select name=&amp;quot;dropdown_14&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;option value=&amp;quot;1&amp;quot; selected=&amp;quot;selected&amp;quot;&amp;gt;Spain&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;2&amp;quot; &amp;gt;France&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;3&amp;quot; &amp;gt;other, please specify&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dropdown_14_other&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you choose &amp;quot;other&amp;quot; in the drop down menu the field will be enabled and become mandatory, otherwise it will be disabled.&lt;br /&gt;
)&lt;br /&gt;
* custom question numbers&lt;br /&gt;
* question name to name columns header in the downloaded document&lt;br /&gt;
&lt;br /&gt;
==Question types==&lt;br /&gt;
&lt;br /&gt;
Question types should be plug-ins so that they can be extended locally if required.  The following list covers types which exist in at least one of the current survey modules.&lt;br /&gt;
&lt;br /&gt;
* radio buttons (horizontal &amp;amp; vertical display)&lt;br /&gt;
* short text entry&lt;br /&gt;
* long text entry&lt;br /&gt;
* checkbox&lt;br /&gt;
* drop down menu&lt;br /&gt;
* customisable likert scale for rating&lt;br /&gt;
* date (Example: When were you born?)&lt;br /&gt;
&lt;br /&gt;
===New question types===&lt;br /&gt;
* short date (with month and years only, to answer question like: When had you the first evidence of this disease?)&lt;br /&gt;
* time&lt;br /&gt;
(Example:&lt;br /&gt;
When do you usually take breakfast?&lt;br /&gt;
)&lt;br /&gt;
* &amp;quot;static text&amp;quot;/&amp;quot;read only&amp;quot; fields (auto filled by the software) like, current_date, user_name, record_ID, counter...&lt;br /&gt;
* allocation (Drag and drop)&lt;br /&gt;
* ranking&lt;br /&gt;
&lt;br /&gt;
==Result display==&lt;br /&gt;
&lt;br /&gt;
* report per survey, per user and per question&lt;br /&gt;
* report about non-respondent users&lt;br /&gt;
* choose for a question whether to display results as&lt;br /&gt;
** a table&lt;br /&gt;
** a bar chart&lt;br /&gt;
** a pie chart&lt;br /&gt;
&lt;br /&gt;
==Question management==&lt;br /&gt;
&lt;br /&gt;
* questions can be copied within an activity&lt;br /&gt;
* question sets can be created as templates for re-use [maybe later]&lt;br /&gt;
* question sets can be used across multiple courses [maybe later]&lt;br /&gt;
* questions can be re-ordered within an activity&lt;br /&gt;
* question sets can be combined to create a template&lt;br /&gt;
* questions can be deleted from an activity, but there should be an &amp;quot;are you sure&amp;quot; check first.&lt;br /&gt;
&lt;br /&gt;
==Answer Piping &amp;amp; Conditional Questions==&lt;br /&gt;
&lt;br /&gt;
*Allow follow on questions related to the previous.&lt;br /&gt;
*Do You Smoke? Yes/No If Yes is selected a conditional question appears, How Many per Day, if No is selected move on to question 6 appears&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Answer Piping such as:&lt;br /&gt;
*Q1 Which dog breed do you prefer?&lt;br /&gt;
*Labrador&lt;br /&gt;
*Spaniel&lt;br /&gt;
*Collie&lt;br /&gt;
*Other&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Q2 In question 1 you stated you prefer the (Q1 Answer) as a breed, what do you like about it. [Where (Q1 Answer) is replaced with the chosen answer such as &#039;Labrador&#039;&lt;br /&gt;
*Temperament&lt;br /&gt;
*Looks&lt;br /&gt;
*Colour&lt;br /&gt;
*Other&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Survey_2_brainstorm&amp;diff=83275</id>
		<title>Development:Survey 2 brainstorm</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Survey_2_brainstorm&amp;diff=83275"/>
		<updated>2011-05-05T22:31:23Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* General features of the Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for collecting feature requests for a new Survey module that replaces Survey, Questionnaire and Feedback.&lt;br /&gt;
&lt;br /&gt;
==General features of the Module==&lt;br /&gt;
* translate previously built survey1, feedback and questionnaire at installation time&lt;br /&gt;
* upload exported feedback or questionnaires (survey1 doesn&#039;t export questionnaires templates)&lt;br /&gt;
* save instances of survey2 as a template to reuse it or export it&lt;br /&gt;
* import saved survey2 templates&lt;br /&gt;
* support for groups and groupings&lt;br /&gt;
* custom user survey2 page layout (custom html and css, as it already is in database module)&lt;br /&gt;
* download of submissions in txt, xls and ods&lt;br /&gt;
* conditional branching&lt;br /&gt;
* handle more than one input form layout (and find a way to allow this or that layout to this or that user).&lt;br /&gt;
* order survey fields in editing mode&lt;br /&gt;
* group fields in the page layout with fieldset&lt;br /&gt;
* relations between tables (Example: one record for the profile of my company one related record for each intervention request submitted by my company)&lt;br /&gt;
* email submissions to students/teachers/both/none&lt;br /&gt;
* email submissions to address specified in a designated question field (for surveys not requiring login)&lt;br /&gt;
* simple data checking (&#039;must be numeric&#039;, &#039;must contain X character&#039;, &#039;must have exact length n&#039;, etc.)&lt;br /&gt;
* full web accessibility features to the same level as elsewhere in Moodle e.g. labels on text fields, fieldsets on groups of radio buttons &amp;amp; checkboxes.&lt;br /&gt;
* gradebook integration (to allow simple polls to control conditional activities)&lt;br /&gt;
&lt;br /&gt;
==Instance settings page==&lt;br /&gt;
* Access section: 20 types of survey, distinguished by:&lt;br /&gt;
:-&amp;gt; ppl who is allowed to R/O,&lt;br /&gt;
:-&amp;gt; ppl who is allowed to R/W,&lt;br /&gt;
:-&amp;gt; ppl who is allowed to delete a record&lt;br /&gt;
The reationale is: once a record has been submitted by a user, who is allowed to see it (R/O access)?, who is allowed to edit it (R/W access)?, who is allowed to delete it?&lt;br /&gt;
&lt;br /&gt;
Combining all the options the come out 20 cases are defined as follows where:&lt;br /&gt;
:ALL means, all the people accessing the survey;&lt;br /&gt;
:GROUP means people belonging to the group of the user who submitted the record;&lt;br /&gt;
:OWNER is the user who submitted the record;&lt;br /&gt;
:NONE is none.&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! type&lt;br /&gt;
! R/O&lt;br /&gt;
! R/W&lt;br /&gt;
! delete&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ALL&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* option: allow/deny save without submission (save and restart)&lt;br /&gt;
* option: anonymous survey or named responses&lt;br /&gt;
* option: allow access to records any time/after you&#039;ve submitted/after close date/never&lt;br /&gt;
* opening and closing submission dates&lt;br /&gt;
* number of maximun allowed submission&lt;br /&gt;
* option whether to show results immediately after submission, or a thank you message with link to results.&lt;br /&gt;
&lt;br /&gt;
==Field level settings==&lt;br /&gt;
* type of field (char(n), text, number, alphanumeric, boolean, date, picture, file, email, url...) with type check at submit time (and number of digit check for char(n) fields). This information may not be used at field definition time but is useful for data verification/check.&lt;br /&gt;
&lt;br /&gt;
(Example: Please, enter your card ID: _______ This field should be defined, for instance, as char(7))&lt;br /&gt;
* option: mandatory/non mandatory field&lt;br /&gt;
* free text description field for further description and advices to the completer&lt;br /&gt;
*define a range of valid answers for fields allowing this (see next examples)&lt;br /&gt;
(Example 1:&lt;br /&gt;
Please, enter your seniority. (limited between 0 and 50 years)&lt;br /&gt;
&lt;br /&gt;
Example 2:&lt;br /&gt;
Date of birth: (limited between 18 and 100 years ago))&lt;br /&gt;
*define fields default to be loaded at &amp;quot;new record&amp;quot; display time&lt;br /&gt;
*optional &amp;quot;other&amp;quot; text field for drop down menu/radio button/check box. (see next example)&lt;br /&gt;
(Example for drop down:&lt;br /&gt;
&lt;br /&gt;
 Where were you born? &amp;lt;code&amp;gt;&amp;lt;select name=&amp;quot;dropdown_14&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;option value=&amp;quot;1&amp;quot; selected=&amp;quot;selected&amp;quot;&amp;gt;Spain&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;2&amp;quot; &amp;gt;France&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;3&amp;quot; &amp;gt;other, please specify&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dropdown_14_other&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you choose &amp;quot;other&amp;quot; in the drop down menu the field will be enabled and become mandatory, otherwise it will be disabled.&lt;br /&gt;
)&lt;br /&gt;
* custom question numbers&lt;br /&gt;
* question name to name columns header in the downloaded document&lt;br /&gt;
&lt;br /&gt;
==Question types==&lt;br /&gt;
&lt;br /&gt;
Question types should be plug-ins so that they can be extended locally if required.  The following list covers types which exist in at least one of the current survey modules.&lt;br /&gt;
&lt;br /&gt;
* radio buttons (horizontal &amp;amp; vertical display)&lt;br /&gt;
* short text entry&lt;br /&gt;
* long text entry&lt;br /&gt;
* checkbox&lt;br /&gt;
* drop down menu&lt;br /&gt;
* customisable likert scale for rating&lt;br /&gt;
* date (Example: When were you born?)&lt;br /&gt;
&lt;br /&gt;
===New question types===&lt;br /&gt;
* short date (with month and years only, to answer question like: When had you the first evidence of this disease?)&lt;br /&gt;
* time&lt;br /&gt;
(Example:&lt;br /&gt;
When do you usually take breakfast?&lt;br /&gt;
)&lt;br /&gt;
* &amp;quot;static text&amp;quot;/&amp;quot;read only&amp;quot; fields (auto filled by the software) like, current_date, user_name, record_ID, counter...&lt;br /&gt;
* allocation (Drag and drop)&lt;br /&gt;
* ranking&lt;br /&gt;
&lt;br /&gt;
==Result display==&lt;br /&gt;
&lt;br /&gt;
* report per survey, per user and per question&lt;br /&gt;
* report about non-respondent users&lt;br /&gt;
* choose for a question whether to display results as&lt;br /&gt;
** a table&lt;br /&gt;
** a bar chart&lt;br /&gt;
** a pie chart&lt;br /&gt;
&lt;br /&gt;
==Question management==&lt;br /&gt;
&lt;br /&gt;
* questions can be copied within an activity&lt;br /&gt;
* question sets can be created as templates for re-use [maybe later]&lt;br /&gt;
* question sets can be used across multiple courses [maybe later]&lt;br /&gt;
* questions can be re-ordered within an activity&lt;br /&gt;
* question sets can be combined to create a template&lt;br /&gt;
* questions can be deleted from an activity, but there should be an &amp;quot;are you sure&amp;quot; check first.&lt;br /&gt;
&lt;br /&gt;
==Answer Piping &amp;amp; Conditional Questions==&lt;br /&gt;
&lt;br /&gt;
*Allow follow on questions related to the previous.&lt;br /&gt;
*Do You Smoke? Yes/No If Yes is selected a conditional question appears, How Many per Day, if No is selected move on to question 6 appears&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Answer Piping such as:&lt;br /&gt;
*Q1 Which dog breed do you prefer?&lt;br /&gt;
*Labrador&lt;br /&gt;
*Spaniel&lt;br /&gt;
*Collie&lt;br /&gt;
*Other&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Q2 In question 1 you stated you prefer the (Q1 Answer) as a breed, what do you like about it. [Where (Q1 Answer) is replaced with the chosen answer such as &#039;Labrador&#039;&lt;br /&gt;
*Temperament&lt;br /&gt;
*Looks&lt;br /&gt;
*Colour&lt;br /&gt;
*Other&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Survey_2_brainstorm&amp;diff=83274</id>
		<title>Development:Survey 2 brainstorm</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Survey_2_brainstorm&amp;diff=83274"/>
		<updated>2011-05-05T22:27:04Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* General features of the Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for collecting feature requests for a new Survey module that replaces Survey, Questionnaire and Feedback.&lt;br /&gt;
&lt;br /&gt;
==General features of the Module==&lt;br /&gt;
* translate previously built survey1, feedback and questionnaire at installation time&lt;br /&gt;
* upload exported feedback or questionnaires (survey1 doesn&#039;t export questionnaires templates)&lt;br /&gt;
* save instances of survey2 as a template to reuse it or export it&lt;br /&gt;
* import saved survey2 templates&lt;br /&gt;
* support for groups and groupings&lt;br /&gt;
* custom user survey2 page layout (custom html and css, as it already is in database module)&lt;br /&gt;
* download of submissions in txt, xls and ods&lt;br /&gt;
* conditional branching&lt;br /&gt;
* handle more than one input form layout (and find a way to allow this or that layout to this or that user).&lt;br /&gt;
* order survey fields in editing mode&lt;br /&gt;
* group fields in the page layout with fieldset&lt;br /&gt;
* relations between tables (Example: one record for the profile of my company one related record for each intervention request submitted by my company)&lt;br /&gt;
* email submissions to students/teachers/both/none&lt;br /&gt;
* email submissions to address specified in a designated question field (for surveys not requiring login)&lt;br /&gt;
* full web accessibility features to the same level as elsewhere in Moodle e.g. labels on text fields, fieldsets on groups of radio buttons &amp;amp; checkboxes.&lt;br /&gt;
* gradebook integration (to allow simple polls to control conditional activities)&lt;br /&gt;
&lt;br /&gt;
==Instance settings page==&lt;br /&gt;
* Access section: 20 types of survey, distinguished by:&lt;br /&gt;
:-&amp;gt; ppl who is allowed to R/O,&lt;br /&gt;
:-&amp;gt; ppl who is allowed to R/W,&lt;br /&gt;
:-&amp;gt; ppl who is allowed to delete a record&lt;br /&gt;
The reationale is: once a record has been submitted by a user, who is allowed to see it (R/O access)?, who is allowed to edit it (R/W access)?, who is allowed to delete it?&lt;br /&gt;
&lt;br /&gt;
Combining all the options the come out 20 cases are defined as follows where:&lt;br /&gt;
:ALL means, all the people accessing the survey;&lt;br /&gt;
:GROUP means people belonging to the group of the user who submitted the record;&lt;br /&gt;
:OWNER is the user who submitted the record;&lt;br /&gt;
:NONE is none.&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! type&lt;br /&gt;
! R/O&lt;br /&gt;
! R/W&lt;br /&gt;
! delete&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ALL&lt;br /&gt;
| ALL&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ALL&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ALL&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ALL&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| GROUP&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| GROUP&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| GROUP&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| OWNER&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| OWNER&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|-&lt;br /&gt;
| 20&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
| NONE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* option: allow/deny save without submission (save and restart)&lt;br /&gt;
* option: anonymous survey or named responses&lt;br /&gt;
* option: allow access to records any time/after you&#039;ve submitted/after close date/never&lt;br /&gt;
* opening and closing submission dates&lt;br /&gt;
* number of maximun allowed submission&lt;br /&gt;
* option whether to show results immediately after submission, or a thank you message with link to results.&lt;br /&gt;
&lt;br /&gt;
==Field level settings==&lt;br /&gt;
* type of field (char(n), text, number, alphanumeric, boolean, date, picture, file, email, url...) with type check at submit time (and number of digit check for char(n) fields). This information may not be used at field definition time but is useful for data verification/check.&lt;br /&gt;
&lt;br /&gt;
(Example: Please, enter your card ID: _______ This field should be defined, for instance, as char(7))&lt;br /&gt;
* option: mandatory/non mandatory field&lt;br /&gt;
* free text description field for further description and advices to the completer&lt;br /&gt;
*define a range of valid answers for fields allowing this (see next examples)&lt;br /&gt;
(Example 1:&lt;br /&gt;
Please, enter your seniority. (limited between 0 and 50 years)&lt;br /&gt;
&lt;br /&gt;
Example 2:&lt;br /&gt;
Date of birth: (limited between 18 and 100 years ago))&lt;br /&gt;
*define fields default to be loaded at &amp;quot;new record&amp;quot; display time&lt;br /&gt;
*optional &amp;quot;other&amp;quot; text field for drop down menu/radio button/check box. (see next example)&lt;br /&gt;
(Example for drop down:&lt;br /&gt;
&lt;br /&gt;
 Where were you born? &amp;lt;code&amp;gt;&amp;lt;select name=&amp;quot;dropdown_14&amp;quot; size=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;option value=&amp;quot;1&amp;quot; selected=&amp;quot;selected&amp;quot;&amp;gt;Spain&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;2&amp;quot; &amp;gt;France&amp;lt;/option&amp;gt;&amp;lt;option value=&amp;quot;3&amp;quot; &amp;gt;other, please specify&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;dropdown_14_other&amp;quot; size=&amp;quot;10&amp;quot; maxlength=&amp;quot;10&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you choose &amp;quot;other&amp;quot; in the drop down menu the field will be enabled and become mandatory, otherwise it will be disabled.&lt;br /&gt;
)&lt;br /&gt;
* custom question numbers&lt;br /&gt;
* question name to name columns header in the downloaded document&lt;br /&gt;
&lt;br /&gt;
==Question types==&lt;br /&gt;
&lt;br /&gt;
Question types should be plug-ins so that they can be extended locally if required.  The following list covers types which exist in at least one of the current survey modules.&lt;br /&gt;
&lt;br /&gt;
* radio buttons (horizontal &amp;amp; vertical display)&lt;br /&gt;
* short text entry&lt;br /&gt;
* long text entry&lt;br /&gt;
* checkbox&lt;br /&gt;
* drop down menu&lt;br /&gt;
* customisable likert scale for rating&lt;br /&gt;
* date (Example: When were you born?)&lt;br /&gt;
&lt;br /&gt;
===New question types===&lt;br /&gt;
* short date (with month and years only, to answer question like: When had you the first evidence of this disease?)&lt;br /&gt;
* time&lt;br /&gt;
(Example:&lt;br /&gt;
When do you usually take breakfast?&lt;br /&gt;
)&lt;br /&gt;
* &amp;quot;static text&amp;quot;/&amp;quot;read only&amp;quot; fields (auto filled by the software) like, current_date, user_name, record_ID, counter...&lt;br /&gt;
* allocation (Drag and drop)&lt;br /&gt;
* ranking&lt;br /&gt;
&lt;br /&gt;
==Result display==&lt;br /&gt;
&lt;br /&gt;
* report per survey, per user and per question&lt;br /&gt;
* report about non-respondent users&lt;br /&gt;
* choose for a question whether to display results as&lt;br /&gt;
** a table&lt;br /&gt;
** a bar chart&lt;br /&gt;
** a pie chart&lt;br /&gt;
&lt;br /&gt;
==Question management==&lt;br /&gt;
&lt;br /&gt;
* questions can be copied within an activity&lt;br /&gt;
* question sets can be created as templates for re-use [maybe later]&lt;br /&gt;
* question sets can be used across multiple courses [maybe later]&lt;br /&gt;
* questions can be re-ordered within an activity&lt;br /&gt;
* question sets can be combined to create a template&lt;br /&gt;
* questions can be deleted from an activity, but there should be an &amp;quot;are you sure&amp;quot; check first.&lt;br /&gt;
&lt;br /&gt;
==Answer Piping &amp;amp; Conditional Questions==&lt;br /&gt;
&lt;br /&gt;
*Allow follow on questions related to the previous.&lt;br /&gt;
*Do You Smoke? Yes/No If Yes is selected a conditional question appears, How Many per Day, if No is selected move on to question 6 appears&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Answer Piping such as:&lt;br /&gt;
*Q1 Which dog breed do you prefer?&lt;br /&gt;
*Labrador&lt;br /&gt;
*Spaniel&lt;br /&gt;
*Collie&lt;br /&gt;
*Other&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Q2 In question 1 you stated you prefer the (Q1 Answer) as a breed, what do you like about it. [Where (Q1 Answer) is replaced with the chosen answer such as &#039;Labrador&#039;&lt;br /&gt;
*Temperament&lt;br /&gt;
*Looks&lt;br /&gt;
*Colour&lt;br /&gt;
*Other&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=MNet&amp;diff=61270</id>
		<title>MNet</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=MNet&amp;diff=61270"/>
		<updated>2009-08-10T06:29:05Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 1.8}}==Overview==&lt;br /&gt;
Moodle Network is a new feature found in the 1.8 release of Moodle. The network feature allows a Moodle administrator to establish a link with another Moodle, and to share some resources with the users of that Moodle.&lt;br /&gt;
&lt;br /&gt;
The initial release of Moodle Network is bundled with a new Authentication Plugin, which makes single-sign-on between Moodles possible. A user with the username &amp;lt;em&amp;gt;jody&amp;lt;/em&amp;gt; logs in to her Moodle server as normal, and clicks on a link that takes her to a page on another Moodle server. Normally, she would have only the privileges of a guest on the remote Moodle, but behind the scenes, single-sign-on has established a fully authenticated session for Jody on the remote site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;  Moodle Networking requires the use of xmlrpc. Please go to your phpinfo page if you are interested in using this and search for --with-xmlrpc.  If your php has not been compiled with xmlrpc then you need to address that first! At present it appears that PEAR xmlrpc will not work.&lt;br /&gt;
[[Image:Administration Block Users Authentication MoodleNetwork.jpg|thumb|Moodle Network setting in Admin&amp;gt;User&amp;gt;Authentication&amp;gt;Moodle Network]]&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
The Moodle network feature requires that your server has the Curl and OpenSSL extensions installed. When you install or upgrade to Moodle 1.8, your system will generate a new OpenSSL certificate for encrypted communication with other Moodles, and will thereafter rotate encryption keys on a monthly basis (approx).&lt;br /&gt;
&lt;br /&gt;
Communication takes place over an XML-RPC transport, and the XML-RPC documents are wrapped first in an XMLDSIG (XML digital signature) envelope, and then in an XMLENC (XML encryption) envelope. The encryption all happens within PHP, and does not require an https (Apache SSL) server.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
*[http://www.w3.org/TR/xmldsig-core/ XML Digital Signatures]&lt;br /&gt;
*[http://www.w3.org/TR/xmlenc-core/ XML Encryption]&lt;br /&gt;
&lt;br /&gt;
A special mode can be enabled which would allow a machine with a specified IP address to make calls to the XML-RPC layer without using either encryption or signature envelopes. This mode is provided to enable Moodle to communicate with other software systems in which the integration of signatures and encryption might be prohibitively difficult. It is not envisioned that unencrypted inter-Moodle networking will ever be enabled.&lt;br /&gt;
&lt;br /&gt;
==Peer to Peer Network==&lt;br /&gt;
&lt;br /&gt;
This is the basic layout of the system. It can be very useful to run one Moodle per faculty or departments, each with its own user management, and yet permit users to roam across the Moodle installs... subject to permissions of course. &lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
&lt;br /&gt;
The instructions will cover 2 Moodle installations: MoodleA and MoodleB. Both are installed correctly and have never had a Moodle Network configuration.&lt;br /&gt;
&lt;br /&gt;
Note: If you experience problems, ensure debugging is turned on in &#039;&#039;Site Administration &amp;gt; Server &amp;gt; Debugging&#039;&#039;. Extra diagnostic messages may be displayed (particularly from Moodle 1.9.2)&lt;br /&gt;
&lt;br /&gt;
# Get them to talk to each other&lt;br /&gt;
## Ensure &#039;&#039;Admin &amp;gt; Server &amp;gt; Environment&#039;&#039; indicates you have curl installed&lt;br /&gt;
## If MoodleA and MoodleB are hosted in the same domain, ensure they have a different cookie prefix. Note that changing the cookie prefix will log you out! You can change the cookie prefix via &#039;&#039;Admin &amp;gt; Server &amp;gt; Session Handling&#039;&#039;.&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Settings&#039;&#039; and turn Networking ON.&lt;br /&gt;
## On MoodleA go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; - put the URL of MoodleB under &amp;quot;Add New Host&amp;quot; and click Add. The URL should include the directory where your Moodle code is located, for example &#039;&#039;www.mymoodle.org/moodle&#039;&#039;.&lt;br /&gt;
## Do the equivalent on MoodleB.&lt;br /&gt;
# Get user roaming going&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Authentication&#039;&#039; and enable Moodle Network authentication plugin. Click on &#039;Settings&#039; and enable auto_add_remote_users.&lt;br /&gt;
## On MoodleA go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039;, click on &#039;MoodleB&#039;, and click on &#039;Services&#039;. Enable SSO-IDP publish and subscribe, and SSO-SP publish and subscribe.&lt;br /&gt;
## Do the equivalent on MoodleB.&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Permissions &amp;gt; Define Roles&#039;&#039;, only roles that have &amp;quot;Roam to a remote Moodle moodle/site:mnetlogintoremote&amp;quot; will be allowed to roam. Grant the privilege as appropriate.&lt;br /&gt;
## On both, go to the homepage, and add the &#039;Network Servers&#039; block.&lt;br /&gt;
## To test, it is recommended to use a different browser (even on a different machine) that is logged in to neither. Login to MoodleA with a non-administrator account that has the permissions to roam. You should see the Network Servers block, and clicking on it you should go to MoodleB with a newly autocreated account. &lt;br /&gt;
# Get remote enrolments going -- this is optional. It allows administrator of MoodleB can enrol users that are &amp;quot;native&amp;quot; to MoodleB in courses in MoodleA, and viceversa.&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Courses &amp;gt; Enrolment&#039;&#039; and enable Moodle Network enrolment plugin (click Save). Click on &#039;Edit&#039; and enable &#039;allow_allcourses&#039; or select some courses or categories to be remotely enrolled.&lt;br /&gt;
## On MoodleA go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039;, click on &#039;MoodleB&#039;, and click on &#039;Services&#039;. Enable Enrolment publish and subscribe.&lt;br /&gt;
## Do the equivalent on MoodleB.&lt;br /&gt;
## To use, in MoodleA go to &#039;&#039;Admin &amp;gt; Networking &amp;gt; Enrolments&#039;&#039;. You will see MoodleB listed. Click on MoodleB and you will see a list of courses that MoodleB offers for remote enrolment. Select the course you want, and then enroll the users you want to that course.&lt;br /&gt;
&lt;br /&gt;
===Using it===&lt;br /&gt;
&lt;br /&gt;
==Connecting to a Community hub==&lt;br /&gt;
A [[Community hub]] is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Community hub, assess the services it has to offer, and enable those services for your users.&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
# Get talking to the Hub&lt;br /&gt;
## Ensure that the &#039;&#039;Admin &amp;gt; Server &amp;gt; Environment&#039;&#039; page indicates you have curl and openssl installed&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Settings&#039;&#039; and turn Networking on&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; and enter the URL of Community Hub under &amp;quot;Add New Host&amp;quot;. Click &amp;lt;em&amp;gt;Add&amp;lt;/em&amp;gt;&lt;br /&gt;
## The host details for the Community Hub should appear with the Site Name field already populated. Click &amp;lt;em&amp;gt;Save changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## The details will be written to your database and two new tabs will appear in this window: &#039;Services&#039; and &#039;Logs&#039;. Click &amp;lt;em&amp;gt;Services&amp;lt;/em&amp;gt;&lt;br /&gt;
##A list of services will appear, each with a checkbox for &#039;publish&#039; and &#039;subscribe&#039;. Check the checkboxes for any services you want to publish or subscribe to&lt;br /&gt;
&lt;br /&gt;
===Using it===&lt;br /&gt;
If the Community Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is &amp;lt;em&amp;gt;publishing&amp;lt;/em&amp;gt; Moodle Networked Enrolment, then a tick will appear alongside the &amp;lt;em&amp;gt;subscribe&amp;lt;/em&amp;gt; checkbox for this service. Note that in order to enable some functionality, prominently &amp;lt;em&amp;gt;single-sign-on&amp;lt;/em&amp;gt;, you may have to &amp;lt;em&amp;gt;publish&amp;lt;/em&amp;gt; a service, e.g. the &amp;lt;em&amp;gt;Identity Provider&amp;lt;/em&amp;gt; service. The Community Hub will access this service on your Moodle, asking it to authenticate your users.&lt;br /&gt;
# Enable Roaming&lt;br /&gt;
## Subscribe to &amp;lt;em&amp;gt;SSO (Service Provider)&amp;lt;/em&amp;gt; by checking the box&lt;br /&gt;
## Publish &amp;lt;em&amp;gt;SSO (Identity Provider)&amp;lt;/em&amp;gt; by checking the box&lt;br /&gt;
## Click &amp;lt;em&amp;gt;Save changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Permissions &amp;gt; Define Roles&#039;&#039;, and grant the capability &amp;lt;em&amp;gt;Roam to a remote Moodle moodle/site:mnetlogintoremote&amp;lt;/em&amp;gt; to an appropriate role&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Authentication&#039;&#039; and enable the &amp;lt;em&amp;gt;Moodle Network authentication&amp;lt;/em&amp;gt; plugin&lt;br /&gt;
## Go to your homepage, turn on editing, and add the &#039;Network Servers&#039; block&lt;br /&gt;
## Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to&lt;br /&gt;
## Note that the Community Hub is listed in the Network Servers block on the homepage. Click on the link to that server&lt;br /&gt;
## Some of your user details will be transferred to the Community Hub server, and a browsing session will be started for you as if you had logged on there directly&lt;br /&gt;
# Enable Networked Enrolment&lt;br /&gt;
## Return to the web browser you&#039;ve been using as the site administrator&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; and click on the entry for the Community Hub.&lt;br /&gt;
## Click on the Services tab&lt;br /&gt;
## Subscribe to &amp;lt;em&amp;gt;Moodle Networked Enrolment&amp;lt;/em&amp;gt;&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Courses &amp;gt; Enrolment&#039;&#039; and enable the &amp;lt;em&amp;gt;Moodle Network enrolment&amp;lt;/em&amp;gt; plugin. Click &amp;lt;em&amp;gt;Save changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## Click on &amp;lt;em&amp;gt;edit&amp;lt;/em&amp;gt; to view the details for networked enrolments.&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Networking &amp;gt; Enrolments&#039;&#039; to see a list of Moodle servers that offer this service to you&lt;br /&gt;
## Click on a server name to view a list of courses that the server offers to your users&lt;br /&gt;
## Click on a course name, to view a list users that you can enrol in this course&lt;br /&gt;
## Enrol users&lt;br /&gt;
## Profit!&lt;br /&gt;
&lt;br /&gt;
==Running a Community hub==&lt;br /&gt;
A Community hub is a regular Moodle site that runs in a special mode. As a Moodle Administrator, when you add another Moodle site to your list of network peers, your Moodle will contact that site to find out what it is called, and to request its public key for encrypted communication. Normally, the remote server will simply provide this information without making any record of the transaction.&lt;br /&gt;
&lt;br /&gt;
A Community hub is different. As soon as you add an entry for a Community hub to your system, the Community hub will create an entry for your server in its list of hosts, and may immediately begin to offer services to the users of your site.&lt;br /&gt;
&lt;br /&gt;
This section will guide you to set up a Community hub, and select services to offer to all comers.&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
# Enable Networking&lt;br /&gt;
## Ensure that the &#039;&#039;Admin &amp;gt; Server &amp;gt; Environment&#039;&#039; page indicates you have curl and openssl installed&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Settings&#039;&#039; and turn Networking on &lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; and tick the checkbox for &amp;lt;em&amp;gt;Register all hosts&amp;lt;/em&amp;gt;. Click on &amp;lt;em&amp;gt;Save Changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## On the same page, the first entry in your list of hosts should be &amp;lt;em&amp;gt;All hosts&amp;lt;/em&amp;gt;. Click this link&lt;br /&gt;
## Click on &amp;lt;em&amp;gt;Services&amp;lt;/em&amp;gt; and enable any services you want to offer to all comers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle Network FAQ]]&lt;br /&gt;
* [[Development:Moodle Network|Moodle Network development notes]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=6976 Moodle Network forum]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/discuss.php?d=92749 Examples of how people are using Moodle networks] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[Category:Authentication]]&lt;br /&gt;
[[Category:Enrolment]]&lt;br /&gt;
[[Category:MNET]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Réseau Moodle]]&lt;br /&gt;
[[ja:Moodleネットワーク]]&lt;br /&gt;
[[es:Red Moodle]]&lt;br /&gt;
[[cs:Síťové služby]]&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=MNet&amp;diff=61269</id>
		<title>MNet</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=MNet&amp;diff=61269"/>
		<updated>2009-08-10T06:27:32Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Moodle 1.8}}==Overview==&lt;br /&gt;
Moodle Network is a new feature found in the 1.8 release of Moodle. The network feature allows a Moodle administrator to establish a link with another Moodle, and to share some resources with the users of that Moodle.&lt;br /&gt;
&lt;br /&gt;
The initial release of Moodle Network is bundled with a new Authentication Plugin, which makes single-sign-on between Moodles possible. A user with the username &amp;lt;em&amp;gt;jody&amp;lt;/em&amp;gt; logs in to her Moodle server as normal, and clicks on a link that takes her to a page on another Moodle server. Normally, she would have only the privileges of a guest on the remote Moodle, but behind the scenes, single-sign-on has established a fully authenticated session for Jody on the remote site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039;  Moodle Networking requires the use of xmlrpc. Please go to your phpinfo page if you are interested in using this and search for --with-xmlrpc.  If your php has not been compiled with xmlrpc then you need to address that first! At present it appears that PEAR xmlrpc will not work.&lt;br /&gt;
[[Image:Administration Block Users Authentication MoodleNetwork.jpg|thumb|Moodle Network setting in Admin&amp;gt;User&amp;gt;Authentication&amp;gt;Moodle Network]]&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
The Moodle network feature requires that your server has the Curl and OpenSSL extensions installed. When you install or upgrade to Moodle 1.8, your system will generate a new OpenSSL certificate for encrypted communication with other Moodles, and will thereafter rotate encryption keys on a monthly basis (approx).&lt;br /&gt;
&lt;br /&gt;
Communication takes place over an XML-RPC transport, and the XML-RPC documents are wrapped first in an XMLDSIG (XML digital signature) envelope, and then in an XMLENC (XML encryption) envelope. The encryption all happens within PHP, and does not require an https (Apache SSL) server.&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
*[http://www.w3.org/TR/xmldsig-core/ XML Digital Signatures]&lt;br /&gt;
*[http://www.w3.org/TR/xmlenc-core/ XML Encryption]&lt;br /&gt;
&lt;br /&gt;
A special mode can be enabled which would allow a machine with a specified IP address to make calls to the XML-RPC layer without using either encryption or signature envelopes. This mode is provided to enable Moodle to communicate with other software systems in which the integration of signatures and encryption might be prohibitively difficult. It is not envisioned that unencrypted inter-Moodle networking will ever be enabled.&lt;br /&gt;
&lt;br /&gt;
==Peer to Peer Network==&lt;br /&gt;
&lt;br /&gt;
This is the basic layout of the system. It can be very useful to run one Moodle per faculty or departments, each with its own user management, and yet permit users to roam across the Moodle installs... subject to permissions of course. &lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
&lt;br /&gt;
The instructions will cover 2 Moodle installations: MoodleA and MoodleB. Both are installed correctly and have never had a Moodle Network configuration.&lt;br /&gt;
&lt;br /&gt;
Note: If you experience problems, ensure debugging is turned on in &#039;&#039;Site Administration &amp;gt; Server &amp;gt; Debugging&#039;&#039;. Extra diagnostic messages may be displayed (particularly from Moodle 1.9.2)&lt;br /&gt;
&lt;br /&gt;
# Get them to talk to each other&lt;br /&gt;
## Ensure that the &#039;&#039;Moodle Networking&#039;&#039; enrolment plugin has been activated in &#039;&#039;Admin &amp;gt; Courses &amp;gt; Enrolments&#039;&#039;.&lt;br /&gt;
## Ensure &#039;&#039;Admin &amp;gt; Server &amp;gt; Environment&#039;&#039; indicates you have curl installed&lt;br /&gt;
## If MoodleA and MoodleB are hosted in the same domain, ensure they have a different cookie prefix. Note that changing the cookie prefix will log you out! You can change the cookie prefix via &#039;&#039;Admin &amp;gt; Server &amp;gt; Session Handling&#039;&#039;.&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Settings&#039;&#039; and turn Networking ON.&lt;br /&gt;
## On MoodleA go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; - put the URL of MoodleB under &amp;quot;Add New Host&amp;quot; and click Add. The URL should include the directory where your Moodle code is located, for example &#039;&#039;www.mymoodle.org/moodle&#039;&#039;.&lt;br /&gt;
## Do the equivalent on MoodleB.&lt;br /&gt;
# Get user roaming going&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Authentication&#039;&#039; and enable Moodle Network authentication plugin. Click on &#039;Settings&#039; and enable auto_add_remote_users.&lt;br /&gt;
## On MoodleA go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039;, click on &#039;MoodleB&#039;, and click on &#039;Services&#039;. Enable SSO-IDP publish and subscribe, and SSO-SP publish and subscribe.&lt;br /&gt;
## Do the equivalent on MoodleB.&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Permissions &amp;gt; Define Roles&#039;&#039;, only roles that have &amp;quot;Roam to a remote Moodle moodle/site:mnetlogintoremote&amp;quot; will be allowed to roam. Grant the privilege as appropriate.&lt;br /&gt;
## On both, go to the homepage, and add the &#039;Network Servers&#039; block.&lt;br /&gt;
## To test, it is recommended to use a different browser (even on a different machine) that is logged in to neither. Login to MoodleA with a non-administrator account that has the permissions to roam. You should see the Network Servers block, and clicking on it you should go to MoodleB with a newly autocreated account. &lt;br /&gt;
# Get remote enrolments going -- this is optional. It allows administrator of MoodleB can enrol users that are &amp;quot;native&amp;quot; to MoodleB in courses in MoodleA, and viceversa.&lt;br /&gt;
## On both, go to &#039;&#039;Admin &amp;gt; Courses &amp;gt; Enrolment&#039;&#039; and enable Moodle Network enrolment plugin (click Save). Click on &#039;Edit&#039; and enable &#039;allow_allcourses&#039; or select some courses or categories to be remotely enrolled.&lt;br /&gt;
## On MoodleA go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039;, click on &#039;MoodleB&#039;, and click on &#039;Services&#039;. Enable Enrolment publish and subscribe.&lt;br /&gt;
## Do the equivalent on MoodleB.&lt;br /&gt;
## To use, in MoodleA go to &#039;&#039;Admin &amp;gt; Networking &amp;gt; Enrolments&#039;&#039;. You will see MoodleB listed. Click on MoodleB and you will see a list of courses that MoodleB offers for remote enrolment. Select the course you want, and then enroll the users you want to that course.&lt;br /&gt;
&lt;br /&gt;
===Using it===&lt;br /&gt;
&lt;br /&gt;
==Connecting to a Community hub==&lt;br /&gt;
A [[Community hub]] is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Community hub, assess the services it has to offer, and enable those services for your users.&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
# Get talking to the Hub&lt;br /&gt;
## Ensure that the &#039;&#039;Admin &amp;gt; Server &amp;gt; Environment&#039;&#039; page indicates you have curl and openssl installed&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Settings&#039;&#039; and turn Networking on&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; and enter the URL of Community Hub under &amp;quot;Add New Host&amp;quot;. Click &amp;lt;em&amp;gt;Add&amp;lt;/em&amp;gt;&lt;br /&gt;
## The host details for the Community Hub should appear with the Site Name field already populated. Click &amp;lt;em&amp;gt;Save changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## The details will be written to your database and two new tabs will appear in this window: &#039;Services&#039; and &#039;Logs&#039;. Click &amp;lt;em&amp;gt;Services&amp;lt;/em&amp;gt;&lt;br /&gt;
##A list of services will appear, each with a checkbox for &#039;publish&#039; and &#039;subscribe&#039;. Check the checkboxes for any services you want to publish or subscribe to&lt;br /&gt;
&lt;br /&gt;
===Using it===&lt;br /&gt;
If the Community Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is &amp;lt;em&amp;gt;publishing&amp;lt;/em&amp;gt; Moodle Networked Enrolment, then a tick will appear alongside the &amp;lt;em&amp;gt;subscribe&amp;lt;/em&amp;gt; checkbox for this service. Note that in order to enable some functionality, prominently &amp;lt;em&amp;gt;single-sign-on&amp;lt;/em&amp;gt;, you may have to &amp;lt;em&amp;gt;publish&amp;lt;/em&amp;gt; a service, e.g. the &amp;lt;em&amp;gt;Identity Provider&amp;lt;/em&amp;gt; service. The Community Hub will access this service on your Moodle, asking it to authenticate your users.&lt;br /&gt;
# Enable Roaming&lt;br /&gt;
## Subscribe to &amp;lt;em&amp;gt;SSO (Service Provider)&amp;lt;/em&amp;gt; by checking the box&lt;br /&gt;
## Publish &amp;lt;em&amp;gt;SSO (Identity Provider)&amp;lt;/em&amp;gt; by checking the box&lt;br /&gt;
## Click &amp;lt;em&amp;gt;Save changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Permissions &amp;gt; Define Roles&#039;&#039;, and grant the capability &amp;lt;em&amp;gt;Roam to a remote Moodle moodle/site:mnetlogintoremote&amp;lt;/em&amp;gt; to an appropriate role&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Users &amp;gt; Authentication&#039;&#039; and enable the &amp;lt;em&amp;gt;Moodle Network authentication&amp;lt;/em&amp;gt; plugin&lt;br /&gt;
## Go to your homepage, turn on editing, and add the &#039;Network Servers&#039; block&lt;br /&gt;
## Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to&lt;br /&gt;
## Note that the Community Hub is listed in the Network Servers block on the homepage. Click on the link to that server&lt;br /&gt;
## Some of your user details will be transferred to the Community Hub server, and a browsing session will be started for you as if you had logged on there directly&lt;br /&gt;
# Enable Networked Enrolment&lt;br /&gt;
## Return to the web browser you&#039;ve been using as the site administrator&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; and click on the entry for the Community Hub.&lt;br /&gt;
## Click on the Services tab&lt;br /&gt;
## Subscribe to &amp;lt;em&amp;gt;Moodle Networked Enrolment&amp;lt;/em&amp;gt;&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Courses &amp;gt; Enrolment&#039;&#039; and enable the &amp;lt;em&amp;gt;Moodle Network enrolment&amp;lt;/em&amp;gt; plugin. Click &amp;lt;em&amp;gt;Save changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## Click on &amp;lt;em&amp;gt;edit&amp;lt;/em&amp;gt; to view the details for networked enrolments.&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Networking &amp;gt; Enrolments&#039;&#039; to see a list of Moodle servers that offer this service to you&lt;br /&gt;
## Click on a server name to view a list of courses that the server offers to your users&lt;br /&gt;
## Click on a course name, to view a list users that you can enrol in this course&lt;br /&gt;
## Enrol users&lt;br /&gt;
## Profit!&lt;br /&gt;
&lt;br /&gt;
==Running a Community hub==&lt;br /&gt;
A Community hub is a regular Moodle site that runs in a special mode. As a Moodle Administrator, when you add another Moodle site to your list of network peers, your Moodle will contact that site to find out what it is called, and to request its public key for encrypted communication. Normally, the remote server will simply provide this information without making any record of the transaction.&lt;br /&gt;
&lt;br /&gt;
A Community hub is different. As soon as you add an entry for a Community hub to your system, the Community hub will create an entry for your server in its list of hosts, and may immediately begin to offer services to the users of your site.&lt;br /&gt;
&lt;br /&gt;
This section will guide you to set up a Community hub, and select services to offer to all comers.&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
# Enable Networking&lt;br /&gt;
## Ensure that the &#039;&#039;Admin &amp;gt; Server &amp;gt; Environment&#039;&#039; page indicates you have curl and openssl installed&lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Settings&#039;&#039; and turn Networking on &lt;br /&gt;
## Go to &#039;&#039;Admin &amp;gt; Network &amp;gt; Peers&#039;&#039; and tick the checkbox for &amp;lt;em&amp;gt;Register all hosts&amp;lt;/em&amp;gt;. Click on &amp;lt;em&amp;gt;Save Changes&amp;lt;/em&amp;gt;&lt;br /&gt;
## On the same page, the first entry in your list of hosts should be &amp;lt;em&amp;gt;All hosts&amp;lt;/em&amp;gt;. Click this link&lt;br /&gt;
## Click on &amp;lt;em&amp;gt;Services&amp;lt;/em&amp;gt; and enable any services you want to offer to all comers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle Network FAQ]]&lt;br /&gt;
* [[Development:Moodle Network|Moodle Network development notes]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=6976 Moodle Network forum]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/discuss.php?d=92749 Examples of how people are using Moodle networks] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[Category:Authentication]]&lt;br /&gt;
[[Category:Enrolment]]&lt;br /&gt;
[[Category:MNET]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Réseau Moodle]]&lt;br /&gt;
[[ja:Moodleネットワーク]]&lt;br /&gt;
[[es:Red Moodle]]&lt;br /&gt;
[[cs:Síťové služby]]&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19699</id>
		<title>Managing roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19699"/>
		<updated>2007-01-29T01:19:52Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* Roles FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Roles}}&lt;br /&gt;
{{Moodle 1.7}}&lt;br /&gt;
Moodle 1.7 allows the administrator to add or edit existing roles available on the Moodle site. This is done through the Administration block&amp;gt;&amp;gt;User&amp;gt;&amp;gt;Permission&amp;gt;&amp;gt;Define roles menu area.  Remember that Moodle comes with 7 default roles and adding and editing roles is completely optional.&lt;br /&gt;
&lt;br /&gt;
==Define roles==&lt;br /&gt;
There are 3 tabs on the define role page.&lt;br /&gt;
[[Image:Roles_Define_tab.JPG|center]] &lt;br /&gt;
&lt;br /&gt;
*Manage roles - The place to add and define permissions for a new role, or edit name and/or permissions associated with existing Moodle roles.&lt;br /&gt;
*[[Allow role assignments]] - A matrix which determines which role can assign users to other roles.&lt;br /&gt;
*[[Allow role overrides]] - A matrix which determines which role can override a previously assigned role. The default is that only an administrator can override any role assigned by another role.&lt;br /&gt;
&lt;br /&gt;
==Permissions==&lt;br /&gt;
The permissions matrix allows a very granular approach to assigning rights to a role (a class of users).  Assigning or editing permissions should be done with great care.  A change can produce a profound unwanted effect, or an annoying effect that will be hard to understand the cause.&lt;br /&gt;
&lt;br /&gt;
There are over 150 lines of capabilities where any of 4 different permissions can be assigned.  The capabilities are grouped in 21 catagories.  We strongly recommend not to change the LEGACY roles. Here is the top of the list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Roles_Define_Permissions_crop.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
===Permission terms===&lt;br /&gt;
From lowest to highest, from general to specific.&lt;br /&gt;
&lt;br /&gt;
*Inherit - pass along from before [lowest level, always loses]&lt;br /&gt;
*Allow - let happen or permit [same level as prevent]&lt;br /&gt;
*Prevent - stop [same level as allow]&lt;br /&gt;
*Prohibit - forbid {highest level, always wins]&lt;br /&gt;
&lt;br /&gt;
===Permission examples===&lt;br /&gt;
&#039;&#039;&#039;Inherit&#039;&#039;&#039;: if no permission is defined, then the capability permission is inherited from a context that is more general than the current context. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Allow and prevent&#039;&#039;&#039; 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;
&#039;&#039;&#039;Prohibit&#039;&#039;&#039;: If we set prohibit on a capability, it means that the capability cannot be overridden. Prohibit always wins and creates a permanent stop. &lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different and participants can be assigned different roles,  there could be a conflict in capabilities. The hierarchy of permissions  resolves this by saying that the capability defined for a more specific context will win, unless an prohibit is encountered in a less specific context. &lt;br /&gt;
&lt;br /&gt;
Example 1. Mark has a student role in Course One, which allows  all students to write into the wikis &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot;.  But Mark also got assigned a Visitor role at a module context level (for the wiki &amp;quot;Honors&amp;quot;) and Visitors are prevented writing in the Honors wiki.  Thus Mark can write into the &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot; wikis but not in &amp;quot;Honors&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example 2.Jeff has been assigned to a &amp;quot;naughty student&amp;quot; role that prohibits him from postings in any forums for the whole site. However his teacher assigned him a &amp;quot;facilitator&amp;quot; role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since a higher context prohibit permission always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Examples of roles==&lt;br /&gt;
Why would a site want different roles?  Consider&lt;br /&gt;
{|  border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
||*Site Designers||*Educational Authority Adviser||*Educational Inspector||&lt;br /&gt;
|-&lt;br /&gt;
||*Second Marker / Moderator||*Peer observer of teaching||*External Examiner&lt;br /&gt;
|-&lt;br /&gt;
||*Parent||*Manager||*Weekly Seminar Leader&lt;br /&gt;
|-&lt;br /&gt;
||*Mentor/Mentee||*Community-Designed Rating Criteria||*Visitor&lt;br /&gt;
|-&lt;br /&gt;
||*Guest Speaker||*Former Student||*Alumnus&lt;br /&gt;
|-&lt;br /&gt;
||*Librarian||*Teacher||*Community Education Tutors/Trainers&lt;br /&gt;
|-&lt;br /&gt;
||*Secretary/Student Worker||*Teaching Assistant||*Student - FERPA rights&lt;br /&gt;
|-&lt;br /&gt;
||*Help Desk|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Enrolling existing students in a course ==&lt;br /&gt;
In 1.7, enrolling students in a course is done by the roles section.   Go to the course, in the [[Administration block]], click Assign Roles, when the new page opens, click on Students and you will be presented with a screen that lists most Moodle users. This is similar to previous versions of Moodle.  Select the student on the right and add them to the course list on the left.  &lt;br /&gt;
&lt;br /&gt;
If the student is not on the Moodle list, they will need to be created or added to the Moodle user list, also found under the roles section.&lt;br /&gt;
&lt;br /&gt;
==Basic concept definitions==&lt;br /&gt;
&lt;br /&gt;
*A &#039;&#039;&#039;role&#039;&#039;&#039; 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;
*A &#039;&#039;&#039;capability&#039;&#039;&#039; is a description of some particular Moodle feature. Capabilities are associated with roles. For example, being able to reply to a forum post is a capability.&lt;br /&gt;
*A &#039;&#039;&#039;permission&#039;&#039;&#039; is some value that is assigned for a capability for a particular role. For example, using the prevent permission to limit all students from posting to any forum.&lt;br /&gt;
*A &#039;&#039;&#039;context&#039;&#039;&#039; is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks, forums etc.&lt;br /&gt;
*A &#039;&#039;&#039;hierarchy of permissions&#039;&#039;&#039; determines which permission wins or is going to be in effect if there is an apparent conflict.   For example, the site allow all students the permission to  to post in forums, but a teacher might prevent that right in a particular course.  The hierarchy of permissions would allow a student to post in one course but not in another course.&lt;br /&gt;
&lt;br /&gt;
==Testing roles==&lt;br /&gt;
&lt;br /&gt;
It is necessary to log out then log in again to test roles. Do not use &amp;quot;Login As&amp;quot; to check the new settings; use some dummy accounts instead.&lt;br /&gt;
&lt;br /&gt;
==Roles FAQ==&lt;br /&gt;
&lt;br /&gt;
*I want all teachers to be able to create courses.  How can I do this?&lt;br /&gt;
&lt;br /&gt;
1) Create a new role called C-only (or whatever) and only assign &amp;quot;allow&amp;quot; to &amp;quot;Create courses&amp;quot; leaving everything else as &amp;quot;inherit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2) Assign this additional role to those who need the ability to create courses at whatever level you want to (entire site or category). It makes no sense to assign it at the course level since you can&#039;t create a course within a course.&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Définir les rôles]]&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19698</id>
		<title>Managing roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19698"/>
		<updated>2007-01-29T01:16:24Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* Roles FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Roles}}&lt;br /&gt;
{{Moodle 1.7}}&lt;br /&gt;
Moodle 1.7 allows the administrator to add or edit existing roles available on the Moodle site. This is done through the Administration block&amp;gt;&amp;gt;User&amp;gt;&amp;gt;Permission&amp;gt;&amp;gt;Define roles menu area.  Remember that Moodle comes with 7 default roles and adding and editing roles is completely optional.&lt;br /&gt;
&lt;br /&gt;
==Define roles==&lt;br /&gt;
There are 3 tabs on the define role page.&lt;br /&gt;
[[Image:Roles_Define_tab.JPG|center]] &lt;br /&gt;
&lt;br /&gt;
*Manage roles - The place to add and define permissions for a new role, or edit name and/or permissions associated with existing Moodle roles.&lt;br /&gt;
*[[Allow role assignments]] - A matrix which determines which role can assign users to other roles.&lt;br /&gt;
*[[Allow role overrides]] - A matrix which determines which role can override a previously assigned role. The default is that only an administrator can override any role assigned by another role.&lt;br /&gt;
&lt;br /&gt;
==Permissions==&lt;br /&gt;
The permissions matrix allows a very granular approach to assigning rights to a role (a class of users).  Assigning or editing permissions should be done with great care.  A change can produce a profound unwanted effect, or an annoying effect that will be hard to understand the cause.&lt;br /&gt;
&lt;br /&gt;
There are over 150 lines of capabilities where any of 4 different permissions can be assigned.  The capabilities are grouped in 21 catagories.  We strongly recommend not to change the LEGACY roles. Here is the top of the list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Roles_Define_Permissions_crop.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
===Permission terms===&lt;br /&gt;
From lowest to highest, from general to specific.&lt;br /&gt;
&lt;br /&gt;
*Inherit - pass along from before [lowest level, always loses]&lt;br /&gt;
*Allow - let happen or permit [same level as prevent]&lt;br /&gt;
*Prevent - stop [same level as allow]&lt;br /&gt;
*Prohibit - forbid {highest level, always wins]&lt;br /&gt;
&lt;br /&gt;
===Permission examples===&lt;br /&gt;
&#039;&#039;&#039;Inherit&#039;&#039;&#039;: if no permission is defined, then the capability permission is inherited from a context that is more general than the current context. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Allow and prevent&#039;&#039;&#039; 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;
&#039;&#039;&#039;Prohibit&#039;&#039;&#039;: If we set prohibit on a capability, it means that the capability cannot be overridden. Prohibit always wins and creates a permanent stop. &lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different and participants can be assigned different roles,  there could be a conflict in capabilities. The hierarchy of permissions  resolves this by saying that the capability defined for a more specific context will win, unless an prohibit is encountered in a less specific context. &lt;br /&gt;
&lt;br /&gt;
Example 1. Mark has a student role in Course One, which allows  all students to write into the wikis &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot;.  But Mark also got assigned a Visitor role at a module context level (for the wiki &amp;quot;Honors&amp;quot;) and Visitors are prevented writing in the Honors wiki.  Thus Mark can write into the &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot; wikis but not in &amp;quot;Honors&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example 2.Jeff has been assigned to a &amp;quot;naughty student&amp;quot; role that prohibits him from postings in any forums for the whole site. However his teacher assigned him a &amp;quot;facilitator&amp;quot; role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since a higher context prohibit permission always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Examples of roles==&lt;br /&gt;
Why would a site want different roles?  Consider&lt;br /&gt;
{|  border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
||*Site Designers||*Educational Authority Adviser||*Educational Inspector||&lt;br /&gt;
|-&lt;br /&gt;
||*Second Marker / Moderator||*Peer observer of teaching||*External Examiner&lt;br /&gt;
|-&lt;br /&gt;
||*Parent||*Manager||*Weekly Seminar Leader&lt;br /&gt;
|-&lt;br /&gt;
||*Mentor/Mentee||*Community-Designed Rating Criteria||*Visitor&lt;br /&gt;
|-&lt;br /&gt;
||*Guest Speaker||*Former Student||*Alumnus&lt;br /&gt;
|-&lt;br /&gt;
||*Librarian||*Teacher||*Community Education Tutors/Trainers&lt;br /&gt;
|-&lt;br /&gt;
||*Secretary/Student Worker||*Teaching Assistant||*Student - FERPA rights&lt;br /&gt;
|-&lt;br /&gt;
||*Help Desk|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Enrolling existing students in a course ==&lt;br /&gt;
In 1.7, enrolling students in a course is done by the roles section.   Go to the course, in the [[Administration block]], click Assign Roles, when the new page opens, click on Students and you will be presented with a screen that lists most Moodle users. This is similar to previous versions of Moodle.  Select the student on the right and add them to the course list on the left.  &lt;br /&gt;
&lt;br /&gt;
If the student is not on the Moodle list, they will need to be created or added to the Moodle user list, also found under the roles section.&lt;br /&gt;
&lt;br /&gt;
==Basic concept definitions==&lt;br /&gt;
&lt;br /&gt;
*A &#039;&#039;&#039;role&#039;&#039;&#039; 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;
*A &#039;&#039;&#039;capability&#039;&#039;&#039; is a description of some particular Moodle feature. Capabilities are associated with roles. For example, being able to reply to a forum post is a capability.&lt;br /&gt;
*A &#039;&#039;&#039;permission&#039;&#039;&#039; is some value that is assigned for a capability for a particular role. For example, using the prevent permission to limit all students from posting to any forum.&lt;br /&gt;
*A &#039;&#039;&#039;context&#039;&#039;&#039; is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks, forums etc.&lt;br /&gt;
*A &#039;&#039;&#039;hierarchy of permissions&#039;&#039;&#039; determines which permission wins or is going to be in effect if there is an apparent conflict.   For example, the site allow all students the permission to  to post in forums, but a teacher might prevent that right in a particular course.  The hierarchy of permissions would allow a student to post in one course but not in another course.&lt;br /&gt;
&lt;br /&gt;
==Testing roles==&lt;br /&gt;
&lt;br /&gt;
It is necessary to log out then log in again to test roles. Do not use &amp;quot;Login As&amp;quot; to check the new settings; use some dummy accounts instead.&lt;br /&gt;
&lt;br /&gt;
==Roles FAQ==&lt;br /&gt;
&lt;br /&gt;
*I want all teachers to be able to create courses.  How can I do this?&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Définir les rôles]]&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19697</id>
		<title>Managing roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19697"/>
		<updated>2007-01-29T01:15:33Z</updated>

		<summary type="html">&lt;p&gt;Trobb: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Roles}}&lt;br /&gt;
{{Moodle 1.7}}&lt;br /&gt;
Moodle 1.7 allows the administrator to add or edit existing roles available on the Moodle site. This is done through the Administration block&amp;gt;&amp;gt;User&amp;gt;&amp;gt;Permission&amp;gt;&amp;gt;Define roles menu area.  Remember that Moodle comes with 7 default roles and adding and editing roles is completely optional.&lt;br /&gt;
&lt;br /&gt;
==Define roles==&lt;br /&gt;
There are 3 tabs on the define role page.&lt;br /&gt;
[[Image:Roles_Define_tab.JPG|center]] &lt;br /&gt;
&lt;br /&gt;
*Manage roles - The place to add and define permissions for a new role, or edit name and/or permissions associated with existing Moodle roles.&lt;br /&gt;
*[[Allow role assignments]] - A matrix which determines which role can assign users to other roles.&lt;br /&gt;
*[[Allow role overrides]] - A matrix which determines which role can override a previously assigned role. The default is that only an administrator can override any role assigned by another role.&lt;br /&gt;
&lt;br /&gt;
==Permissions==&lt;br /&gt;
The permissions matrix allows a very granular approach to assigning rights to a role (a class of users).  Assigning or editing permissions should be done with great care.  A change can produce a profound unwanted effect, or an annoying effect that will be hard to understand the cause.&lt;br /&gt;
&lt;br /&gt;
There are over 150 lines of capabilities where any of 4 different permissions can be assigned.  The capabilities are grouped in 21 catagories.  We strongly recommend not to change the LEGACY roles. Here is the top of the list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Roles_Define_Permissions_crop.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
===Permission terms===&lt;br /&gt;
From lowest to highest, from general to specific.&lt;br /&gt;
&lt;br /&gt;
*Inherit - pass along from before [lowest level, always loses]&lt;br /&gt;
*Allow - let happen or permit [same level as prevent]&lt;br /&gt;
*Prevent - stop [same level as allow]&lt;br /&gt;
*Prohibit - forbid {highest level, always wins]&lt;br /&gt;
&lt;br /&gt;
===Permission examples===&lt;br /&gt;
&#039;&#039;&#039;Inherit&#039;&#039;&#039;: if no permission is defined, then the capability permission is inherited from a context that is more general than the current context. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Allow and prevent&#039;&#039;&#039; 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;
&#039;&#039;&#039;Prohibit&#039;&#039;&#039;: If we set prohibit on a capability, it means that the capability cannot be overridden. Prohibit always wins and creates a permanent stop. &lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different and participants can be assigned different roles,  there could be a conflict in capabilities. The hierarchy of permissions  resolves this by saying that the capability defined for a more specific context will win, unless an prohibit is encountered in a less specific context. &lt;br /&gt;
&lt;br /&gt;
Example 1. Mark has a student role in Course One, which allows  all students to write into the wikis &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot;.  But Mark also got assigned a Visitor role at a module context level (for the wiki &amp;quot;Honors&amp;quot;) and Visitors are prevented writing in the Honors wiki.  Thus Mark can write into the &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot; wikis but not in &amp;quot;Honors&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example 2.Jeff has been assigned to a &amp;quot;naughty student&amp;quot; role that prohibits him from postings in any forums for the whole site. However his teacher assigned him a &amp;quot;facilitator&amp;quot; role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since a higher context prohibit permission always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Examples of roles==&lt;br /&gt;
Why would a site want different roles?  Consider&lt;br /&gt;
{|  border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
||*Site Designers||*Educational Authority Adviser||*Educational Inspector||&lt;br /&gt;
|-&lt;br /&gt;
||*Second Marker / Moderator||*Peer observer of teaching||*External Examiner&lt;br /&gt;
|-&lt;br /&gt;
||*Parent||*Manager||*Weekly Seminar Leader&lt;br /&gt;
|-&lt;br /&gt;
||*Mentor/Mentee||*Community-Designed Rating Criteria||*Visitor&lt;br /&gt;
|-&lt;br /&gt;
||*Guest Speaker||*Former Student||*Alumnus&lt;br /&gt;
|-&lt;br /&gt;
||*Librarian||*Teacher||*Community Education Tutors/Trainers&lt;br /&gt;
|-&lt;br /&gt;
||*Secretary/Student Worker||*Teaching Assistant||*Student - FERPA rights&lt;br /&gt;
|-&lt;br /&gt;
||*Help Desk|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Enrolling existing students in a course ==&lt;br /&gt;
In 1.7, enrolling students in a course is done by the roles section.   Go to the course, in the [[Administration block]], click Assign Roles, when the new page opens, click on Students and you will be presented with a screen that lists most Moodle users. This is similar to previous versions of Moodle.  Select the student on the right and add them to the course list on the left.  &lt;br /&gt;
&lt;br /&gt;
If the student is not on the Moodle list, they will need to be created or added to the Moodle user list, also found under the roles section.&lt;br /&gt;
&lt;br /&gt;
==Basic concept definitions==&lt;br /&gt;
&lt;br /&gt;
*A &#039;&#039;&#039;role&#039;&#039;&#039; 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;
*A &#039;&#039;&#039;capability&#039;&#039;&#039; is a description of some particular Moodle feature. Capabilities are associated with roles. For example, being able to reply to a forum post is a capability.&lt;br /&gt;
*A &#039;&#039;&#039;permission&#039;&#039;&#039; is some value that is assigned for a capability for a particular role. For example, using the prevent permission to limit all students from posting to any forum.&lt;br /&gt;
*A &#039;&#039;&#039;context&#039;&#039;&#039; is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks, forums etc.&lt;br /&gt;
*A &#039;&#039;&#039;hierarchy of permissions&#039;&#039;&#039; determines which permission wins or is going to be in effect if there is an apparent conflict.   For example, the site allow all students the permission to  to post in forums, but a teacher might prevent that right in a particular course.  The hierarchy of permissions would allow a student to post in one course but not in another course.&lt;br /&gt;
&lt;br /&gt;
==Testing roles==&lt;br /&gt;
&lt;br /&gt;
It is necessary to log out then log in again to test roles. Do not use &amp;quot;Login As&amp;quot; to check the new settings; use some dummy accounts instead.&lt;br /&gt;
&lt;br /&gt;
==Roles FAQ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Définir les rôles]]&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19696</id>
		<title>Managing roles</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Managing_roles&amp;diff=19696"/>
		<updated>2007-01-29T01:07:58Z</updated>

		<summary type="html">&lt;p&gt;Trobb: /* Basic concept definitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Roles}}&lt;br /&gt;
{{Moodle 1.7}}&lt;br /&gt;
Moodle 1.7 allows the administrator to add or edit existing roles available on the Moodle site. This is done through the Administration block&amp;gt;&amp;gt;User&amp;gt;&amp;gt;Permission&amp;gt;&amp;gt;Define roles menu area.  Remember that Moodle comes with 7 default roles and adding and editing roles is completely optional.&lt;br /&gt;
&lt;br /&gt;
==Define roles==&lt;br /&gt;
There are 3 tabs on the define role page.&lt;br /&gt;
[[Image:Roles_Define_tab.JPG|center]] &lt;br /&gt;
&lt;br /&gt;
*Manage roles - The place to add and define permissions for a new role, or edit name and/or permissions associated with existing Moodle roles.&lt;br /&gt;
*[[Allow role assignments]] - A matrix which determines which role can assign users to other roles.&lt;br /&gt;
*[[Allow role overrides]] - A matrix which determines which role can override a previously assigned role. The default is that only an administrator can override any role assigned by another role.&lt;br /&gt;
&lt;br /&gt;
==Permissions==&lt;br /&gt;
The permissions matrix allows a very granular approach to assigning rights to a role (a class of users).  Assigning or editing permissions should be done with great care.  A change can produce a profound unwanted effect, or an annoying effect that will be hard to understand the cause.&lt;br /&gt;
&lt;br /&gt;
There are over 150 lines of capabilities where any of 4 different permissions can be assigned.  The capabilities are grouped in 21 catagories.  We strongly recommend not to change the LEGACY roles. Here is the top of the list.&lt;br /&gt;
&lt;br /&gt;
[[Image:Roles_Define_Permissions_crop.JPG|center]]&lt;br /&gt;
&lt;br /&gt;
===Permission terms===&lt;br /&gt;
From lowest to highest, from general to specific.&lt;br /&gt;
&lt;br /&gt;
*Inherit - pass along from before [lowest level, always loses]&lt;br /&gt;
*Allow - let happen or permit [same level as prevent]&lt;br /&gt;
*Prevent - stop [same level as allow]&lt;br /&gt;
*Prohibit - forbid {highest level, always wins]&lt;br /&gt;
&lt;br /&gt;
===Permission examples===&lt;br /&gt;
&#039;&#039;&#039;Inherit&#039;&#039;&#039;: if no permission is defined, then the capability permission is inherited from a context that is more general than the current context. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Allow and prevent&#039;&#039;&#039; 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;
&#039;&#039;&#039;Prohibit&#039;&#039;&#039;: If we set prohibit on a capability, it means that the capability cannot be overridden. Prohibit always wins and creates a permanent stop. &lt;br /&gt;
&lt;br /&gt;
Since the capabilities in each role could be different and participants can be assigned different roles,  there could be a conflict in capabilities. The hierarchy of permissions  resolves this by saying that the capability defined for a more specific context will win, unless an prohibit is encountered in a less specific context. &lt;br /&gt;
&lt;br /&gt;
Example 1. Mark has a student role in Course One, which allows  all students to write into the wikis &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot;.  But Mark also got assigned a Visitor role at a module context level (for the wiki &amp;quot;Honors&amp;quot;) and Visitors are prevented writing in the Honors wiki.  Thus Mark can write into the &amp;quot;Everyone&amp;quot; and &amp;quot;Homework&amp;quot; wikis but not in &amp;quot;Honors&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example 2.Jeff has been assigned to a &amp;quot;naughty student&amp;quot; role that prohibits him from postings in any forums for the whole site. However his teacher assigned him a &amp;quot;facilitator&amp;quot; role in &amp;quot;Science forum&amp;quot; in the course Science and Math 101. Since a higher context prohibit permission always wins, Jeff is unable to post in &amp;quot;Science forum&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Examples of roles==&lt;br /&gt;
Why would a site want different roles?  Consider&lt;br /&gt;
{|  border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
!width=&amp;quot;200&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
||*Site Designers||*Educational Authority Adviser||*Educational Inspector||&lt;br /&gt;
|-&lt;br /&gt;
||*Second Marker / Moderator||*Peer observer of teaching||*External Examiner&lt;br /&gt;
|-&lt;br /&gt;
||*Parent||*Manager||*Weekly Seminar Leader&lt;br /&gt;
|-&lt;br /&gt;
||*Mentor/Mentee||*Community-Designed Rating Criteria||*Visitor&lt;br /&gt;
|-&lt;br /&gt;
||*Guest Speaker||*Former Student||*Alumnus&lt;br /&gt;
|-&lt;br /&gt;
||*Librarian||*Teacher||*Community Education Tutors/Trainers&lt;br /&gt;
|-&lt;br /&gt;
||*Secretary/Student Worker||*Teaching Assistant||*Student - FERPA rights&lt;br /&gt;
|-&lt;br /&gt;
||*Help Desk|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Enrolling existing students in a course ==&lt;br /&gt;
In 1.7, enrolling students in a course is done by the roles section.   Go to the course, in the [[Administration block]], click Assign Roles, when the new page opens, click on Students and you will be presented with a screen that lists most Moodle users. This is similar to previous versions of Moodle.  Select the student on the right and add them to the course list on the left.  &lt;br /&gt;
&lt;br /&gt;
If the student is not on the Moodle list, they will need to be created or added to the Moodle user list, also found under the roles section.&lt;br /&gt;
&lt;br /&gt;
==Basic concept definitions==&lt;br /&gt;
&lt;br /&gt;
*A &#039;&#039;&#039;role&#039;&#039;&#039; 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;
*A &#039;&#039;&#039;capability&#039;&#039;&#039; is a description of some particular Moodle feature. Capabilities are associated with roles. For example, being able to reply to a forum post is a capability.&lt;br /&gt;
*A &#039;&#039;&#039;permission&#039;&#039;&#039; is some value that is assigned for a capability for a particular role. For example, using the prevent permission to limit all students from posting to any forum.&lt;br /&gt;
*A &#039;&#039;&#039;context&#039;&#039;&#039; is a &amp;quot;space&amp;quot; in the Moodle, such as courses, activity modules, blocks, forums etc.&lt;br /&gt;
*A &#039;&#039;&#039;hierarchy of permissions&#039;&#039;&#039; determines which permission wins or is going to be in effect if there is an apparent conflict.   For example, the site allow all students the permission to  to post in forums, but a teacher might prevent that right in a particular course.  The hierarchy of permissions would allow a student to post in one course but not in another course.&lt;br /&gt;
&lt;br /&gt;
==Testing roles==&lt;br /&gt;
&lt;br /&gt;
It is necessary to log out then log in again to test roles. Do not use &amp;quot;Login As&amp;quot; to check the new settings; use some dummy accounts instead.&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Définir les rôles]]&lt;/div&gt;</summary>
		<author><name>Trobb</name></author>
	</entry>
</feed>