https://docs.moodle.org/33/en/api.php?action=feedcontributions&user=SamuliK&feedformat=atomMoodleDocs - User contributions [en]2024-03-29T07:57:48ZUser contributionsMediaWiki 1.39.6https://docs.moodle.org/33/en/index.php?title=User_pictures&diff=111191User pictures2014-03-19T16:27:30Z<p>SamuliK: /* Updating user pictures */</p>
<hr />
<div>{{Accounts}}<br />
==User pictures==<br />
Every user on Moodle is able to have their own personal profile picture (or "avatar") which can be uploaded via their profile. If no picture has been uploaded then the default is:<br />
<br />
[[File:F1.png]]<br />
<br />
==Viewing all user pictures==<br />
*An administrator can do a quick check of the user pictures by typing in the browser http://www.YOURMOODLESITE.com/userpix when logged in as admin.<br />
<br />
== Updating user pictures ==<br />
<br />
Users can update their picture by editing their user profile in ''Administration > My profile > Edit profile''. (The site administrator can disable this ability in ''Administration > Site administration > Security > Site policies''.)<br />
<br />
The user's picture is usually displayed next to the user's name. For example, next to content they have has posted in a forum, or in a participant list.<br />
<br />
There is a default image that is used by the Moodle site. The site administrator can change the default picture for the site by replacing the F1 and F2 images in the theme folder '''/theme/''themename''/pix_core/u/''' or in the core folder '''/pix/u/'''. Remember to refresh your browser to see any picture changes!<br />
<br />
* There is a delete box when checked will delete the picture when the profile is saved.<br />
* There is a browse button for the user to find and upload a picture file. <br />
* The upload image will be reduced and saved in two files of 100 px by 100 px and 35 px by 35 px. <br />
* The picture description appears when the mouse rolls over the picture.<br />
<br />
Tip: Want the default picture to be blank? Replace the picture with a transparent PNG file.<br />
<br />
==Uploading user pictures in bulk==<br />
<br />
An administrator can upload a zip file containing user images in ''Settings > Site administration > Users > Accounts > Upload user pictures''.<br />
<br />
[[File:Uploaduserpictures.png]]<br />
<br />
*The image files should be named after the username, the idnumber or the id of the student (along with the correct image file extension.) For example, a student with the username ''jbrown98'' would have a picture called ''jbrown98.jpg''<br />
*Image types supported include gif, jpg, and png.<br />
*Image file names are not case sensitive.<br />
<br />
==Gravatars==<br />
<br />
An administrator can enable the use of gravatars in ''Settings > Site administration > Users > Permissions > User policies''. If a user has not uploaded a user picture, Moodle will check whether the user's email address has an associated gravatar and if so, will use the gravatar as the user's picture. <br />
<br />
See also (for 2.3.3 onwards) Gravatar default image URLs in [[Roles settings]]<br />
<br />
==See also==<br />
<br />
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=141378 Cannot upload or change profile pictures] forum discussion<br />
<br />
[[eu:Erabiltzailearen_irudiak]]<br />
[[es:Imágenes de los usuarios]]<br />
[[fr:Image des utilisateurs]]<br />
[[de:Nutzerbilder]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=User_pictures&diff=111122User pictures2014-03-18T12:52:29Z<p>SamuliK: /* Viewing all user pictures */ - userpix from moodle.org is gone.</p>
<hr />
<div>{{Accounts}}<br />
==User pictures==<br />
Every user on Moodle is able to have their own personal profile picture (or "avatar") which can be uploaded via their profile. If no picture has been uploaded then the default is:<br />
<br />
[[File:F1.png]]<br />
<br />
==Viewing all user pictures==<br />
*An administrator can do a quick check of the user pictures by typing in the browser http://www.YOURMOODLESITE.com/userpix when logged in as admin.<br />
<br />
==Updating user pictures==<br />
<br />
Users can update their picture by editing their user profile in ''Administration > My profile > Edit profile''. (The site administrator can disable this ability in ''Administration > Site administration > Security > Site policies''.)<br />
<br />
The user's picture is usually displayed next to the user's name. For example, next to content they have has posted in a forum, or in a participant list.<br />
<br />
There is a default image that is used by the Moodle site. The site administrator can change the default picture for the site by replacing the F1 and F2 images in the theme or pic folders. Remember to refresh your browser to see any picture changes!<br />
<br />
*There is a delete box when checked will delete the picture when the profile is saved.<br />
*There is a browse button for the user to find and upload a picture file. <br />
*The upload image will be reduced and saved in two files of 100px by 100px and 35px by 35px. <br />
*The picture description appears when the mouse rolls over the picture.<br />
<br />
Tip: Want the default picture to be blank? Replace the picture with a file that has 1 white pixel.<br />
<br />
==Uploading user pictures in bulk==<br />
<br />
An administrator can upload a zip file containing user images in ''Settings > Site administration > Users > Accounts > Upload user pictures''.<br />
<br />
[[File:Uploaduserpictures.png]]<br />
<br />
*The image files should be named after the username, the idnumber or the id of the student (along with the correct image file extension.) For example, a student with the username ''jbrown98'' would have a picture called ''jbrown98.jpg''<br />
*Image types supported include gif, jpg, and png.<br />
*Image file names are not case sensitive.<br />
<br />
==Gravatars==<br />
<br />
An administrator can enable the use of gravatars in ''Settings > Site administration > Users > Permissions > User policies''. If a user has not uploaded a user picture, Moodle will check whether the user's email address has an associated gravatar and if so, will use the gravatar as the user's picture. <br />
<br />
See also (for 2.3.3 onwards) Gravatar default image URLs in [[Roles settings]]<br />
<br />
==See also==<br />
<br />
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=141378 Cannot upload or change profile pictures] forum discussion<br />
<br />
[[eu:Erabiltzailearen_irudiak]]<br />
[[es:Imágenes de los usuarios]]<br />
[[fr:Image des utilisateurs]]<br />
[[de:Nutzerbilder]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:NWiki_roadmap&diff=55770Development:NWiki roadmap2009-05-15T08:08:57Z<p>SamuliK: </p>
<hr />
<div>This page is to talk about the possible entrance of a modified NWiki into the Moodle 2.0 core. <br />
<br />
= NWiki roadmap=<br />
Right now DFwikiteam is focussed in the following issues: <br />
== XHTML Strict ==<br />
*NWiki complies with XHTML transitional. April 2007<br />
*NWiki complies with '''XHTML Strict''' mid May '07 <br />
** this affects main engine <br />
** blocks not finished yet (some javascript to look up to)<br />
<br />
==Logs and stats==<br />
We need to ckeck out stats and logs with nwiki.<br />
<br />
== Code Tunning : new wiki api==<br />
There's a big issue in the code, the $WS variable that acts like a big set of global variables. <br />
*We are getting $WS smaller day by day<br />
*We are witting a new internal API to create an internal layer of services for developers.<br />
<br />
'''Done!!!''' Two main layers for developers have been written and working inside of the Nwiki distributions since May 2007. <br />
[http://morfeo.upc.es/crom/file.php/4/wikiAPIdoc/index.htmlThe PHPDoc documentation is available here].<br />
<br />
=== PHPUnit testing===<br />
* a set of PHPUnit tests have been developed to ensure the quality of the thing.<br />
* test case descriptions have been written to help developers and maintainers<br />
[http://morfeo.upc.es/crom/mod/wiki/view.php?id=22&page=Wiki+Unit+Tests+Documentation&gid=0&uid=0 NWiki PHPUnit documentation]<br />
<br />
== shall we trim nwiki ?==<br />
NWiki is Huge ! As many have said we implement a lot of features that maybe are not necessary for everybody. <br />
We could have a reduced set of nwiki into the oficial distribution and a 3rd party and a extended version as 3rd part plug in.<br />
Things that could be taken outside:<br />
===Maybe we keep them===<br />
* wiki course format<br />
* discussion pages ?<br />
* grading in wikis ?<br />
* ranking and votes?<br />
<br />
===Most likely===<br />
* integration with tiddlywiki ? [[Tiddlywiki integration]]<br />
<br />
=== New upcoming toys ===<br />
In June 2007 will come new features that need to be sorted in or out of the basic distribution<br />
* [[Wikibook]] [http://moodle.org/mod/forum/discuss.php?d=72909 wikibook in the forum]<br />
* PDF Generation<br />
* Timeline-like wiki history browser<br />
* Import / export from openoffice writer and (eventually) msword<br />
<br />
== Migration issues ==<br />
So far the data migration works fine. No bugs reported without attending.<br />
== rethink wiki permisions and roles ==<br />
* a user can discuss the page while he cannot edit the page<br />
* the teacher cat FIX a markup for a wiki in the wiki options form.<br />
<br />
==Tracked issues==<br />
There are several bugs and improvements listed in Moodle's [http://tracker.moodle.org/secure/IssueNavigator.jspa?assigneeSelect=specificuser&assignee=dfwikiteam tracker].<br />
==More?==<br />
Let's rememeber to complete the PDF export thing (HTML Editor wiki pages are not exported)<br />
Expected mid june<br />
<br />
==Even More features Implemented==<br />
<br />
=== Wiki Templates ===<br />
<br />
* Add templates so that some content can be made available to all groups when they start using a wiki <br />
Implemented, in release June 2007<br />
=== mailto ===<br />
* a mailto link for dfwiki <br />
has already ben developed must be included in next release [http://moodle.org/mod/forum/discuss.php?d=38991 mailto dfwiki forum thread]<br />
<br />
==And finally==<br />
Dynamical online import from mediawiki utilty... :-D<br />
<br />
= Old DFwiki requests =<br />
Use this page for requests of bugfixes and new features on the [http://morfeo.upc.es/crom/course/view.php?id=4 NWiki] <br />
The [http://morfeo.upc.es/crom/course/view.php?id=4 DFwikiteam] will keep a sharp eye on the list.<br />
<br />
== Miscellaneous ==<br />
*We need to implement some [[Special pages]] like mediawiki's [[Recent changes]].<br />
*Section edit.<br />
*borrow some interface ideas from OUWiki<br />
<br />
== block wikipage ==<br />
<br />
Would be useful to have a block with the content of a wikipage.<br />
<br />
If you select 'social' course format you have the option of inserting a social activities block... I don't get that option for the DFWiki, but I think I should so I can add other Moodle activities... <br />
<br />
otherwise, when I go to admin/site I can choose to display a topic section where I can put activities and this may be an alternative solution.<br />
<br />
Note: In theme [http://moodle.org/mod/forum/discuss.php?d=42325 Including wiki page in other Moodle resources] was announced filter, which can include wiki-page into any filterable place. In summ with existing html block it sounds like solution for this suggestion! --[[User:Ne Nashev|Ne Nashev]] 07:52, 26 March 2006 (WST)<br />
<br />
<br />
== Including wiki page in other Moodle resources ==<br />
I suggest add to standard filters (like Autoformat, Markdown) tag which allow include content (not a link) of wiki page (without editing). This will allow to use wiki as general place for storage texts and use them in resources, lessons and so on.<br />
<br />
Note: In theme [http://moodle.org/mod/forum/discuss.php?d=42325 Including wiki page in other Moodle resources] was announced this filter<br />
<br />
<br />
-----<br />
The words "Change to one of the following editors" tells the new user to change to an editor other than the default editor. As this works now, the choice cannot be changed once selected.<br />
<br />
In order to avoid this confusion, the teacher should be able to make the default editor the only choice.<br />
<br />
In the meantime, the option "Change to one of the following editors" could be moved down below the buttons: save, preview, cancel.<br />
<br />
That way new users will be more likely to use the default editor and not lock themselves into one of the other options.<br />
[http://moodle.org/mod/forum/discuss.php?d=39191 forum tread]<br />
-----<br />
<br />
<br />
<br />
== Moodle wide metawiki==<br />
<br />
We need a metawiki index to easily link between wikis.<br />
The idea is to have admin tool to manage the wiki-names to be able to <br />
refer easily from one wiki to another like this:<br />
<br />
<nowiki> [wiki-name:wikipagename|label to link]</nowiki><br />
<br />
== Special wiki pages ==<br />
<br />
=== Wiki reference. ===<br />
To implement biblio references... a link like <br />
<nowiki>[ref:refname]</nowiki> Will lead us to a editing page with a form (maybe a [[database module]] form) to enter the biblio reference ( title, author, isbn, link , pages ... and so on )...<br />
Once we got that any page with a reference to a biblio ref will get printed at its bottom the complete reference and a link to it. <br />
<br />
This feature proposal comes within the [[wikibook]] line of work<br />
<br />
<br />
<br />
== weird course interaction stuff ==<br />
If you select 'social' course format you have the option of inserting a social activities block... I don't get that option if I select DFWiki, but I think I should so I can add other Moodle activities... (using Moodle 1.6)<br />
<br />
Otherwise, when I go to admin/site I can choose to display 1 topic section where I can put activities and this may be an alternative solution.<br />
<br />
Also if I modify a course that had a different format, such as topics ,to be DFWiki the course crashes and you cannot get back to original course format because of the error it throws up.<br />
<br />
<br />
<br />
<br />
*[[wiki]]<br />
*[[Dfwiki]]<br />
*[http://morfeo.upc.es/crom/course/view.php?id=4 DFWikilabs]<br />
*[[Development:Wiki requirements]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Roles_FAQ&diff=52125Roles FAQ2009-03-06T03:52:51Z<p>SamuliK: /* What is the difference between Prevent and Not set? */</p>
<hr />
<div>{{Roles}}<br />
==What is the definition of a...==<br />
<br />
;Capability<br />
:A configurable aspect of behavior. As of version 1.9 Moodle has over 200 capabilities. Each capability has a computer friendly name like [[Capabilities/mod/forum:rate|mod/forum:rate]] and a human-friendly name like "Rate posts."<br />
;Permission<br />
:A capability and its value considered as a pair. There are four possible values: ''Not set'' (known as ''Inherit'' in 1.7), ''Allow'', ''Prevent'', and ''Prohibit''<br />
;Role<br />
:A named set of permissions, for example Teacher, Student and Forum moderator<br />
;Context<br />
:A functional area of Moodle, such as a course, module or block<br />
<br />
==Why isn't my role change taking effect?==<br />
<br />
In Moodle 1.7.x and 1.8.x, role assignments and overrides do not take effect immediately. They are delayed until the next time the user logs in. Starting with Moodle 1.9, manual role assignments and overrides take effect immediately. However automatic role assignments that result from changes to certain user policies (for example, Default front page role) may be delayed until the next login.<br />
<br />
If you are testing a new role, [[Manage_roles#Testing_a_new_role | here are some suggestions]].<br />
<br />
Also, please check the context in which the role is assigned. Certain capabilities e.g. [[Capabilities/moodle/user:update|moodle/user:update]] may only be applied in the System context, so giving such permissions in the course context will have no effect.<br />
<br />
==Why are all my teacher accounts automatically added as "Teachers" in all my courses?==<br />
<br />
If a user is assigned a role in the System context (Site administration -> Users -> Permissions -> Assign system roles) or in a Course category context, then the user will have this role in ALL courses within the context. For example, a user who is assigned the Teacher role in the System context will appear as a Teacher in all courses on the site, including the Front page course.<br />
<br />
Except in very special cases, teachers and students should be assigned their respective roles in a Course context. When these roles are assigned in a System context, it is almost always an error on the part of the administrator.<br />
<br />
If you have accidentally assigned a System role, go to ''Administration > Users > Permissions > Assign system roles'' unassign users using the right-facing arrow button. Then re-assign the roles in the appropriate Course context.<br />
<br />
==Why are all students enrolled in all courses?==<br />
<br />
Either<br />
*Users are assigned the role of student in the site/system context rather than the course context (see FAQ above)<br />
Or<br />
*The default role for all users in ''Administration > Users > Permissions > User policies'' is set to Student rather than Authenticated user (Moodle 1.8 onwards).<br />
<br />
==Why are there differences in the users listed as course participants and users assigned roles in a course?==<br />
<br />
Users assigned roles in a higher context, for example users assigned the role of teacher in a course category context, may appear as course participants. The discussion [http://moodle.org/mod/forum/discuss.php?d=59900 Discrepancies between Assign Roles lists and Participants list] contains a longer explanation. <br />
<br />
==How can I prevent administrators being listed as course participants?==<br />
<br />
Ensure that administrators are not assigned another role in addition to their admin role.<br />
<br />
==Why are hidden assignments still visible?==<br />
<br />
Hidden assignments are not hidden from admins or teachers i.e. users with the [[Capabilities/moodle/role:viewhiddenassigns|viewhiddenassigns capability]].<br />
<br />
==What is the difference between Prevent and Not set?==<br />
<br />
(Note that "Not set" is called "Inherit" in Moodle versions 1.9 and above.)<br />
<br />
If a role has capability ''X = Not set'', then the role is saying "I don't care about X." If a role has ''X = Prevent,'' then the role is saying "I don't want you be able to do X." Now you typically have multiple roles in a given context, and those roles may have different opinions about ''X''. If ALL of your roles have ''X = Not set'' then you will be effectively prevented from doing ''X'' because you need positive permission to do something. It's just like an election. If you are a candidate but no one votes, you don't win the election. If all of your roles except for one has ''X = Not set'' and the remaining role has ''X = Allow'', then you will be allowed to do X. Again, it's like an election where only one person votes, and they vote for you! For more complicated cases (e.g., roles assigned and overridden in different contexts) you need to understand [[How permissions are calculated]], but the principle is the same: By not voting, a role can allow other roles to determine the outcome of the election. Roles with lots of permissions Not set tend to mix well with other roles.<br />
<br />
==What is my role here?==<br />
<br />
This is a frequently asked question, but an improper one. The correct question is "What are my ''permissions'' here?" In any given context, you often have two or more roles. In addition, one or more role overrides may be in effect. Your permissions in a given context are a result of "adding" the individual permissions from these roles and overrides according to certain rules. As Tim Hunt writes in [http://moodle.org/mod/forum/discuss.php?d=90140 this discussion], the rules "normally do what you expect." However when permissions conflict, the results can be surprising, and it pays to understand [[How permissions are calculated]].<br />
<br />
==How do I debug a roles-related problem?==<br />
<br />
If you're having a problem that you suspect is related to roles, consider using [[The rolesdebug.php roles debugging script | the rolesdebug.php roles debugging script]]. You can download it from the [http://moodle.org/mod/data/view.php?d=13&rid=1204 Modules and plugins database]. The script gives you a spatial view of your role assignments and overrides in a given context, and analyzes your permissions there. To interpret the output requires a basic understanding of roles and capabilities. If you are a complete roles novice, run the script and post the output to the [http://moodle.org/mod/forum/view.php?id=6826 Roles and Capabilities Forum].<br />
<br />
==How can I prevent a user from changing their own password?==<br />
<br />
To prevent a user from changing their own password, you must make sure they do not have [[Capabilities/moodle/user:changeownpassword|moodle/user:changeownpassword]] (in Moodle 1.9 onwards) = Allow in the System context. The Authenticated user role (which is assigned to users in the System context) has moodle/user:changeownpassword = Allow by default, so you have two choices: <br />
# Edit Authenticated user, setting moodle/user:changeownpassword = Not set <br />
# Create a new role CannotChangeOwnPassword with moodle/user:changeownpassword = Prevent and all other permissions Not set and assign the role to selected users in the System context (Site administration -> Users -> Permissions -> Assign system roles). <br />
<br />
Choice (1) will prevent ''all'' users from changing their passwords (except for the administrator, who can do anything). To selectively allow selected users (say teachers) to change their passwords, you could create a new role CanChangeOwnPassword with moodle/user:changeownpassword = Allow and all other permissions not set and assign the role to selected users in the System context (Site administration -> Users -> Permissions -> Assign system roles).<br />
<br />
Choice (2) allows you to be selective, but if you have a lot of users that you want to prevent (say, all students), you will have to make a lot of role assignments in the System context. There is currently no convenient way to do this, so you might consider choice (1).<br />
<br />
Note that you MUST deal with this permission in the System context.<br />
<br />
==How can I prevent a user from editing their own profile?==<br />
<br />
See [[Roles_FAQ#How can I prevent a user from changing their own password? | How can I prevent a user from changing their own password?]] The answer to this question is the same if you substitute ''edit their own profile'' for ''change their own password'' and ''[[Capabilities/moodle/user:editownprofile|moodle/user:editownprofile]]'' (in Moodle 1.9 onwards) for ''moodle/user:changeownpassword.''<br />
<br />
==Do roles have an inheritance relationship?==<br />
<br />
No. Roles are completely independent.<br />
<br />
* When you create a new role by copying an existing role, it is just like copying a file: the original and the copy are identical at the outset, but the copy has no ongoing relationship with the original. Changes to the original do not affect the copy and ''vice versa''.<br />
* When you create a new role and select a value such as LEGACY:Student from the Legacy role type dropdown, you are not "inheriting" from the Student role. You are simply indicating that you want your role to have the same defaults as Student.<br />
* Course creator does not "inherit" from Teacher (a common misconception). As with all roles, the two roles are completely independent. Course creator is actually a very simple role that can basically only create courses and not much else. However a user who creates a course is automatically assigned the role of Teacher in the newly-created course. This is how a course creator gets her teaching abilities within a course.<br />
<br />
==Are there any differences in Roles in Moodle 1.7 and 1.8?==<br />
<br />
In addition to many Roles fixes and refinements (see the list of [http://tracker.moodle.org/secure/IssueNavigator.jspa?mode=hide&requestId=10221 Roles improvements] in the Tracker), in Moodle 1.8 the ''system'' context is separated from the ''front page'' context. Roles may be assigned in the front page context via ''Administration > Front Page > Front Page roles''.<br />
<br />
A "Duplicate role" button has been added in Moodle 1.8, which makes creating new roles based on predefined roles much quicker.<br />
<br />
==How do I change the name for "teacher" in the course description?==<br />
<br />
Either<br />
* Edit the role of Teacher via ''Administration > Users > Permissions > Define roles'' and rename it. The new name will apply site-wide.<br />
Or<br />
* Create a duplicate teacher role with an alternative name and assign users the duplicate teacher role as appropriate in the course context. In ''Administration > Appearance > Course manager'' select the alternative name for teacher that you wish to be displayed in the course description.<br />
Or<br />
* One more way to do it in 1.8 is to create new "dummy" roles (no capabilities) with those names and assign them to teachers along with the real roles. In the course manager settings you can choose which roles display on the front page under each course. (The feature request [http://tracker.moodle.org/browse/MDL-9182 Ability to assign or display custom title for role of person in course] contains this further method.)<br />
<br />
{{Moodle 1.9}}From Moodle 1.9 onwards, names for different roles in a course may be changed in the [[Course settings|course settings]].<br />
<br />
==How do I enable teachers to set role overrides?==<br />
<br />
#Access ''Administration > Users > Permissions > Define roles''.<br />
#Edit the teacher role and change the capability [[Capabilities/moodle/role:override|moodle/role:override]] (or [[Capabilities/moodle/role:safeoverride|moodle/role:safeoverride]] in Moodle 1.9.3 onwards) to allow.<br />
#Click the button "Save changes".<br />
#Click the tab "Allow role overrides" (in ''Administration > Users > Permissions > Define roles'').<br />
#Check the appropriate box(s) in the teacher row to set which role(s) teachers can override. Most likely it will just be the student role (you don't want teachers to be able to override admins!), so check the box where the teacher row intersects with the student column.<br />
#Click the button "Save changes".<br />
<br />
==How do I enable teachers to assign other teachers in a course?==<br />
<br />
This is disabled by default but it can be switched on by modifying the teacher's role. In ''Administration > Users > Permissions > Define roles'' select the "Allow role assignments" tab and tick the checkbox where Teacher and Teacher intersect.<br />
<br />
==Why doesn't "Switch role to.." within a course seem to work properly for a course creator?==<br />
<br />
This feature is intended for teachers so that they can see how their course appears for students. It doesn't work reliably outside the course.<br />
<br />
Further information about this feature can be found in [[Switch roles]] and the paragraph on testing a new role in [[Manage roles]].<br />
<br />
==Are there any example roles?==<br />
<br />
Yes, as follows:<br />
<br />
*[[Inspector role|Inspector]] - for providing external inspectors with permission to view all courses (without being required to enrol)<br />
*[[Parent role|Parent]] - for providing parents/mentors/tutors with permission to view certain information about their children/mentees/tutees<br />
*[[Demo teacher role|Demo teacher]] - for providing a demonstration teacher account with a password which can't be changed<br />
*[[Forum moderator role|Forum moderator]] - for providing a user with permission in a particular forum to edit or delete forum posts, split discussions and move discussions to other forums<br />
*[[Calendar editor role|Calendar editor]] - for providing a user with permission to add site events to the calendar<br />
*[[Blogger role|Blogger]] - for limiting blogging to specific users only<br />
*[[Quiz user with unlimited time role|Quiz user with unlimited time]] - for allowing a user unlimited time to attempt a quiz which has a time limit set<br />
*[[Question creator role|Question creator]] - for enabling students to create questions for use in quizzes<br />
<br />
==Logged-in users can't read the site news. What can I do?==<br />
<br />
Either:<br />
#Access ''Site Administration > Front Page > Front Page roles''<br />
#Follow the "Override permissions" link<br />
#Click on "Authenticated User"<br />
#Scroll down to '''Forum'''<br />
#Change the capability [[Capabilities/mod/forum:viewdiscussion|mod/forum:viewdiscussion]] to ''allow''<br />
#Click the "Save changes" button at the bottom of the page<br />
<br />
Or, in Moodle 1.9 onwards:<br />
#Access ''Site Administration > Front Page > Front Page settings''<br />
#Set the default front page role to student.<br />
<br />
==How do I enable logged-in users to participate in front page activities?==<br />
<br />
Either:<br />
#Access ''Site Administration > Front Page > Front Page roles''<br />
#Follow the "Override roles" link<br />
#Click on "Authenticated User"<br />
#Change capabilities to ''allow'' for all required activities e.g. record a choice, reply to posts<br />
#Click the "Save changes" button at the bottom of the page<br />
<br />
Note that for this to work, you need to make the default role for all users "authenticated user". This is the default for new versions of Moodle. In older versions, the default setting is guest, so if you have recently upgraded, you may have to change this setting. You can change the setting via ''Site Administration > Permissions > User Policies''.<br />
<br />
Or:<br />
#Access ''Site Administration > Front Page > Front Page roles''<br />
#Click on Student<br />
#Select all users in the potential users list, and use the left-facing arrow button to add them to the existing users list<br />
<br />
{{Moodle 1.9}}Or, in Moodle 1.9 onwards:<br />
#Access ''Site Administration > Front Page > Front Page settings''<br />
#Set the default front page role to student.<br />
<br />
==How do I assign a role for a front page activity?==<br />
<br />
# Assign the user a front page role, such as student, in ''Administration > Front Page > Front Page roles''.<br />
# Click the "Locally assigned roles" tab in editing activity page for the front page activity.<br />
# Choose the type of role you wish to assign.<br />
# Use the left-facing arrow button to add a particular user to the list of users with the role.<br />
<br />
If a user is unassigned from a front page role AFTER being assigned a role for a front page activity, they remain assigned the role for the front page activity.<br />
<br />
Note: The above steps are only necessary in versions of Moodle prior to 1.9.4.<br />
<br />
==How do I copy a custom role from one Moodle site to another==<br />
<br />
There is no import and export facility for roles, but it can be achieved nearly as easily using backup and restore.<br />
<br />
# Create an empty course with all the default settings<br />
# Assign anybody to your custom role (or roles) within the course<br />
# Backup the course (all defaults are fine)<br />
# Download the backup file<br />
# Upload the backup file to the site files of the target Moodle<br />
# Restore the course (all defaults are fine)<br />
# Delete the course.<br />
<br />
You will find that the custom roles have been recreated in the target site.<br />
<br />
==What is the difference between the capabilities moodle/role:override and moodle/role:safeoverride?==<br />
<br />
{{Moodle 1.9}}The capability [[Capabilities/moodle/role:safeoverride|moodle/role:safeoverride]] was added to Moodle 1.9.3 onwards, as a way of enabling teachers to [[Override permissions|override permissions]] safely. The capability moodle/role:override allows a user to override all permissions, whereas moodle/role:safeoverride only allows a user to override capabilities that do not have major risks attached to them.<br />
<br />
==I locked myself out of the Administrator role. What do I do?==<br />
If all else fails download the [http://cvs.moodle.org/contrib/tools/adminfix/ adminfix.php] script. The instructions are in the comments at the top of the file. Note, that this is a big hammer and should only be used if you are truly stuck.<br />
<br />
==How can I prevent students from editing their profile?==<br />
<br />
If you only want students to be prevented from editing their profile, and not all users, you can create a new role, such as Restricted user as described in the [[Demo teacher role]], with moodle/user:editownprofile set to prevent, and assign it to all students in the system context.<br />
<br />
Alternatively, you could change moodle/user:editownprofile to not set for the [[Authenticated user role]], then create a new role for teachers with moodle/user:editownprofile set to allow.<br />
<br />
==See also==<br />
<br />
*[[Useful things a teacher can do with roles]]<br />
<br />
*Using Moodle [http://moodle.org/mod/forum/view.php?id=6826 Roles and Capabilities forum]<br />
<br />
Using Moodle forum discussions:<br />
*[http://moodle.org/mod/forum/discuss.php?d=103109 Deny File Download to Guests?]<br />
<br />
[[Category:FAQ]]<br />
<br />
[[de:Rollen FAQ]]<br />
[[es:FAQ_roles]]<br />
[[fr:FAQ des rôles]]<br />
[[ja:ロールFAQ]]<br />
[[ru:FAQ по ролям]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Backup_2.0&diff=52124Development:Backup 2.02009-03-06T03:29:45Z<p>SamuliK: /* Drop in ideas */</p>
<hr />
<div>{{Work in progress}}{{Moodle_2.0}}<br />
<br />
=== Drop in ideas ===<br />
<br />
* Support incremental backups & restore.<br />
* Support 1-activity backup.<br />
* Backup/restore one topic only (not just one activity) --[[User:Samuli Karevaara|Samuli Karevaara]] 21:29, 5 March 2009 (CST)<br />
* Support anonymisation of personal data on backup.<br />
* Separate process and progress. ''(Perhaps [http://cvs.moodle.org/moodle/lib/weblib.php?r1=1.1214&r2=1.1215 these classes I wrote] can help)--[[User:Tim Hunt|Tim Hunt]] 19:41, 1 March 2009 (CST)''<br />
* XML format doesn't need to be radical different (IMO).<br />
* Support restore of old (1.9 only?) backups.<br />
* Hook in backup & restore to intercept & support other formats (BB, IMS-CC...)<br />
* One code base both for manual and scheduled backup<br />
* Scheduled restore<br />
* Fileless export/import<br />
* Export/import over mnet<br />
* OOP.<br />
* Secure (don't handle non-allowed data, user matching on restore, salted passwords..)<br />
* Safe (some sort of "rollback" on failure - requires to have everything annotated somewhere - backup_ids or so).<br />
* file-less backups - if you have separate backups, import/export etc.<br />
* Allow to backup one category of courses (at the same time, one zip per course). MDL-17187<br />
* Allow to mark courses to be excluded from scheduled backup manually.<br />
* Avoid anti-timeout output when not running from browser. MDL-17282<br />
* Review related caps, cleaning them and adding missing bits, improving sec. consistency.<br />
* Log all backups (both manual and scheduled). Improve logging in general.<br />
<br />
=== General prerequisites ===<br />
<br />
==== [[Development:Backup 2.0 - Improve XML parsing|Improve XML parsing]] ====<br />
One of the major bottlenecks in backup and, specially, in restore reliability under Moodle 1.x has been the big amount of memory needed to handle those operations (see bugs like MDL-14302, MDL-15489, MDL-9838... and many others). While the whole XML file (moodle.xml) is parsed in a [http://en.wikipedia.org/wiki/Simple_API_for_XML SAX] way (hence, "streamed" and requiring small amounts of memory), we use to group some XML contents into "parts" in order to delegate the operations over those "parts" to different plugins (modules, blocks...). And problems arrive when some of those "parts" is big enough and processing them with the [http://php.net/xml_parse_into_struct xml_parse_into_struct()] function and the [http://www.hansanderson.com/php/xml/ xmlize] library uses exaggerated amounts of memory (for example, to process a 12.5MB file requires 311MB of memory, crazy!). So we need to switch to an alternate method to parse those "parts" using much less memory and to build the corresponding in-memory object with one acceptable throughput (speed).</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Backup_2.0&diff=49916Development talk:Backup 2.02009-02-02T13:35:28Z<p>SamuliK: New page: backup/restore one topic only (not just one activity)? --~~~~</p>
<hr />
<div>backup/restore one topic only (not just one activity)? --[[User:Samuli Karevaara|Samuli Karevaara]] 07:35, 2 February 2009 (CST)</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Roles_and_modules&diff=49027Development:Roles and modules2009-01-19T12:08:23Z<p>SamuliK: /* Context */</p>
<hr />
<div>This is a page for '''developers''' that describes how to make Moodle modules work under 1.7 roles system. =) For more background information, please read [[Development:Roles]]. For any clarifications please post to the [http://moodle.org/mod/forum/view.php?f=941 Roles and Capabilities forum].<br />
<br />
==Introduction==<br />
<br />
Moodle 1.6 and below uses 7 default roles, namely primary admin, admin, editing teachers, non-editing teachers, students and guests. The set of capabilities that users associated to these roles can perform is fixed. To check permissions, we normally use isteacheredit($courseid), isguest() etc. <br />
<br />
{{Moodle 1.7}}<br />
Under the new 1.7 system, roles do not have a fixed set of capabilities anymore. We use a different function called has_capability() to check for specific capabilities, more on this later.<br />
<br />
==Context==<br />
<br />
Context is an important concept to make roles work. There are currently 6 levels<br />
<br />
define('CONTEXT_SYSTEM', 10);<br />
define('CONTEXT_USERID', 30);<br />
define('CONTEXT_COURSECAT', 40);<br />
define('CONTEXT_COURSE', 50);<br />
define('CONTEXT_MODULE', 70);<br />
define('CONTEXT_BLOCK', 80);<br />
<br />
They are stored as a tuple [contextlevel][instanceid]. For example course with id =2 would be [50][2]. Module with id 495 would be [70][495].<br />
<br />
At module level, you only need to worry about CONTEXT_MODULE. Normally, foreach page accessible in your module you would need to load the module using get_context_instance(). The way to use it for modules is $context = get_context_instance(CONTEXT_MODULE, $cm->id); where $cm is the course module object that you would normally have anyway. The contextid is needed for every permission check later on in all your pages.<br />
<br />
Please note that CONTEXT_PERSONAL (present in 1.7-1.8) was never implemented and was removed in 1.9. CONTEXT_GROUP is also not implemented and can not be used.<br />
<br />
==The has_capability($capability, $contextid, $kill) function==<br />
<br />
inputs: <br />
<br />
$capability is the name of the capability<br />
$contextid is normally $context->id, the module context id<br />
$kill set to 1 if you want to kill the page, it will throw an error and inform the user that required permission is missing. For example you place has_capability('forum_read', $context->id, true) at the top of the page to prevent users from reading the whole page.<br />
<br />
This function looks up a capability for a given context and associated parents recursively. We are pretty much relying on this funciton alone to resolve all capability issues. Original isteacher(), isadmin(), isstudent() etc should all be changed accordingly. <br />
<br />
==Loading capabilities== - for now, this plan might change later<br />
<br />
Loading capabilities is done when a user first log in. Because it is quite an expensive call, we only load it once and stores everything in the session. So when has_capability() is called, it looks for the values stored in the session variable.<br />
<br />
==Code rewrite==<br />
<br />
Some modules might require some tiny rewrites because permission is only checked once at the top, for example some scripts only checks for isstudent() at the top. Now we are able to refine those capabilities, so we need to put the required code changes (add has_capability()) to where the specific capability is needed. For example, in a forum we check to see if user is a student before displaying a discussion page, now we need to check individual permissions for forum_read and forum_reply. <br />
<br />
==Sample code==<br />
<br />
<pre>// somewhere at the top, after getting $cm, load context<br />
<br />
$context = get_context_instance(CONTEXT_MODULE, $cm->id); <br />
<br />
...<br />
<br />
has_capability('forum_read', $context->id, true); // kills this page if user is not allowed to read<br />
<br />
...<br />
<br />
if (has_capability('forum_reply', $context->id) {<br />
print_reply_link();<br />
}</pre><br />
<br />
==Core API==<br />
<br />
The core API is located at libdir/accesslib, if you would like to read it =)<br />
<br />
[[Category:Developer|Roles and modules]]<br />
[[Category:Roles]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=TeX_notation_filter&diff=47368TeX notation filter2008-11-30T02:33:27Z<p>SamuliK: The link was pointing to a redirect to itself</p>
<hr />
<div>Location: TeX Notation settings link in ''Administration > Modules > Filters > Manage filters''<br />
<br />
<br />
The TeX Filter converts TeX code into GIF images. It uses a binary program(s) on the server to render the images (either the full LaTeX implementation, in Moodle 1.6 or later, or the [[MimeTeX]] binary that ships with Moodle for various platforms). Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. <br />
<br />
No additional software or plugins are required on the client computers to display the images.<br />
<br />
<br />
=== Usage ===<br />
<br />
To use the filter the resource should include a TeX expression delimited by double-dollar signs. Example:<br />
<br />
$$ sqrt( x + y ) $$<br />
<br />
=== Using MimeTeX ===<br />
<br />
MimeTeX is a number of pre-built binaries that are included in the Moodle standard distribution and are located in the filters/tex directory. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. This appears to be particularly problematic on the Windows platform. See the [http://moodle.org/mod/forum/view.php?id=752 Mathematical Tools Forum] for more information.<br />
<br />
If you are using the '''windows installer package''', type something like this into the box called 'path of ''latex'' binary'<br />
"C:\Moodle_webserver\moodle\filter\tex\mimetex.exe" <br />
Where you replace 'Moodle_webserver' with the real path to your moodle install. Note that on windows, the red x to the right of the input box will never go away, even when the details are correct.<br />
<br />
If you use TeX in a GIFT question import file you must escape { } and = (even # and ~) with a \ before each symbol.<br />
<br />
=== Improvements in 1.6 ===<br />
<br />
Moodle 1.6 adds the ability to use the full TeX formatting facilities (MimeTex only provides a subset). Three external binaries are used to render the images which may need setting up for your system. The filter will first check for a LaTeX renderer (Ghostscript is also required for this method, ImageMagick in the case of Linux) and failing that will use the simpler [[MimeTeX]] binary included in the Moodle distribution. LaTex permits the whole range of syntax, whereas [[MimeTeX]] only supports a mathematical subset.<br />
<br />
=== Settings Page ===<br />
<br />
The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. Later versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found).<br />
<br />
==== Installing the binaries ====<br />
<br />
This depends on your platform, but for a typical Linux install you are going to need a latex implementation (e.g. tetex) and the convert binary (e.g, from ImageMagick). A typical command - in this case for Ubuntu - that installs everything you need would look something like:<br />
<br />
apt-get install tetex-base tetex-bin tetex-extra imagemagick<br />
<br />
You may need to experiment a bit (for example, ImageMagick doesn't seem to work properly on Solaris gut Ghostscript does). If you find the combination that works for your system kindly add the info to this page!<br />
<br />
==== LaTeX preamble ====<br />
<br />
Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-latin character sets etc. Please see the LaTeX documentation for further details.<br />
<br />
==== Transparent colour ====<br />
<br />
This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). <br />
<br />
==== Density ====<br />
<br />
This setting effects the size of the resulting image.<br />
<br />
==== Path of ''latex'' binary ====<br />
<br />
Path to standard latex binary.<br />
<br />
On a MacOS X, the path is "/usr/texbin/".<br />
<br />
==== Path of ''dvips'' binary ====<br />
<br />
Path to standard dvips binary - generally distributed as part of a LaTeX system.<br />
<br />
On a MacOS X, the path is "/usr/texbin/".<br />
<br />
==== Path of ''convert'' binary ====<br />
<br />
Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.<br />
<br />
A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there.<br />
<br />
On a MacOS X, the path is "/usr/local/bin/".<br />
<br />
=== Debugging TeX filter ===<br />
<br />
The TeX filter has a debugging script included that should help if you are having problems. The URL will be as follows...<br />
<br />
http://your.moodle.path/filter/tex/texdebug.php<br />
<br />
You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. There are a number of options and suggestions to facilitate debugging the filter. Note that options for the latex/ghostscript versions are only provided from Moodle version 1.8.3.<br />
<br />
<br />
=== Debian based systems ===<br />
<br />
For some reason, the mimetex file that comes with Moodle doesn't work on Debian based systems (like Debian, Ubuntu, ...).<br />
What works is installing Mimetex and Ghostscript on your server as Debian package (needs to be executed as root):<br />
<br />
apt-get install tetex-extra mimetex gs<br />
<br />
Move your old mimetex file away<br />
<br />
mv /var/www/moodle/filter/tex/mimetex.linux /var/www/moodle/filter/tex/mimetex.linux.old <br />
<br />
Make a symbolic link to the mimetex file, installed by the debian installer<br />
<br />
ln -s /usr/bin/mimetex /var/www/moodle/filter/tex/mimetex.linux<br />
<br />
== See also ==<br />
<br />
* [[Filters]]<br />
* [http://moodle.org/mod/glossary/view.php?id=2739&mode=letter&hook=M&sortkey=CREATION&sortorder=asc TeX Filter Glossary] - a [[Glossary|glossary]] you can add to your course which details usage of the supported [[TeX notation]].<br />
* [http://www.latex-project.org/ LaTeX] - the LaTeX document preparation system.<br />
* [http://www.ghostscript.com/ ghostscript] - required to render the image<br />
* [http://www.forkosh.com/mimetex.html mimetex] - generates mathematical expressions<br />
* [http://www.miktex.org/ MikTeX] - LaTeX for Windows systems<br />
<br />
[[Category:Filter]]<br />
[[Category:Mathematics]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Filters&diff=47367Filters2008-11-30T02:32:47Z<p>SamuliK: /* Standard filters */</p>
<hr />
<div>Location: ''Administration > Modules > Manage filters''<br />
<br />
Filters allow for the automatic transformation of entered text into different, often more complex forms. For example the titles of [[Resources|resources]] can automatically become hyperlinks that take you to the relevant resource, URLs pointing to [[mp3]] files can become [[Flash]] controls embedded in the web page that let you pause and rewind the audio. The possibilities are endless and there are a number of standard filters included with Moodle and many more specialized filters available from the Moodle.org [http://moodle.org/mod/data/view.php?id=6009 Modules and plugins database].<br />
<br />
<br />
==Enabling filters==<br />
[[Image:filters admin.png|thumb|Filters administration in Moodle 1.8]]<br />
To enable a filter:<br />
#Access Administration > Modules > Filters.<br />
#On the filters administration page, click the eye icon opposite the filter you want to enable, so that it changes to an open eye.<br />
#Use the up/down arrow icons to arrange the filters in the order in which they should be applied.<br />
<br />
Certain filters have additional settings, which can be accessed via the links in the settings column.<br />
<br />
==Common settings==<br />
<br />
Note: Prior to Moodle 1.9, common filter settings can be found in ''Administration > Appearance > Filter settings''.<br />
<br />
===Text cache lifetime===<br />
<br />
Text filters can take a lot of processor power to analyze. If you have a large number of courses, the filters may slow your system. The text cache lifetime determines how often the filters run. If you set them to run too frequently, your system may<br />
slow down. If you set them to run too infrequently, analyzing new content will take too long and users will notice. You should experiment to find the correct amount of time for your server.<br />
<br />
===Filter uploaded files===<br />
<br />
This setting enables uploaded files (HTML and text only) to be processed by the filters system. You can choose to have none, only HTML or all files filtered.<br />
<br />
===Filter match once per page===<br />
<br />
This setting effects the glossary, activity and resource linking filters. If set to yes, only the first match on the complete page will be converted to a link. All others will be ignored.<br />
<br />
===Filter match once per text===<br />
<br />
This setting effects the glossary, activity and resource linking filters. If set to yes, only the first match in a discrete block of text will be converted to a link. All others in that text block will be ignored.<br />
<br />
===Filter all strings===<br />
<br />
If checked, headings and titles can be displayed in different languages using the [[Multi language content|multi-language filter]].<br />
<br />
==Standard filters==<br />
<br />
Filters included in the standard download are:<br />
<br />
*Activity Names Auto-linking - This scans text for activity titles that exist in the same course and creates a link.<br />
*[[Algebra filter|Algebra]] - This filter will convert algebra code into GIF images. It requires the [[TeX notation filter|TeX filter]] to be installed. Note also that your system must also include the following Perl module: HTML::Entities.pm<br />
*Database auto-linking - As the name suggests, this filter enables automatic linking of [[Database module]] entries.<br />
*Email Protection - This filter scans the text for any email addresses. Where found they are changed (obfuscated) to reduce the chance of being added to a spammers list. However, as this filter is switched off by default, the site administrator may wish to enable this filter before importing user's email addresses.<br />
*Glossary auto-linking - As the name suggests, this filter enables automatic linking of [[Glossary module]] entries. In addition to this filter, individual glossary entries should have the "This entry should be automatically linked" box checked.<br />
*[[Multi language content]] - This filter enables resources to be created in multiple languages. It looks for &lt;span&nbsp;lang="xx" class="multilang"&gt;...&lt;/span&gt; tags which indicate that a text contains multiple languages. Then it selects and outputs the best language for the current user. The language of the resource will change when the user changes their selected Moodle language. Please note: going to the past, the multilang filter supported the &lt;lang&gt; tag. Then, officially, we changed it to the standard HTML &lt;span&gt; tag and the &lt;lang&gt; solution is now deprecated.<br />
*[[Multimedia plugins]]<br />
*Resource Names Auto-linking - The titles of [[Resources]] can automatically become hyperlinks that take you to the relevant resource within the same course.<br />
*[[TeX notation filter|TeX notation]]<br />
*Tidy - This filter checks whether HTML code is XHTML compliant, tidying where necessary. To make this filter work you need to have PHP compiled with the libtidy option; see http://www.php.net/tidy. The Using Moodle discussion [http://moodle.org/mod/forum/discuss.php?d=28418 Tidy Filter for Moodle 1.5] contains more details.<br />
*Wiki Page Auto-linking<br />
*[[Word censorship]] - This filter "blacks out" words found on a list.<br />
<br />
==Non-standard filters==<br />
<br />
Filters are one of Moodle's pluggable resources and may be added or removed simply by using a file manager to add or remove them from the ''/filters'' directory. Moodle detects those that are present and makes them available to use. <br />
<br />
* [[Jmol filter|Jmol]] - for interactive 3D viewing of molecular structures<br />
* [[Code Syntax Highlighting]] - for more readable excerpts of programming languages including [[PHP]], [[HTML in Moodle|HTML]], [[CSS]], and XML amongst many others<br />
* [[HiddenText filter|HiddenText]] - for teachers who want to provide "hints" to students where the information is initially hidden but can easily be revealed by student in any time when he need.<br />
<br />
==See also==<br />
<br />
*[[Filters FAQ]]<br />
*[[Filters used on the Moodle.org forums]]<br />
*[[Development:Filters]]<br />
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=76206 Filter Demo's now online] forum discussion<br />
<br />
[[Category:Filter]]<br />
<br />
[[es:Filtros (Administrador)]]<br />
[[fr:Filtres (administrateur)]]<br />
[[ja:フィルタ (管理者)]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Filters&diff=47366Filters2008-11-30T02:31:20Z<p>SamuliK: /* Standard filters */</p>
<hr />
<div>Location: ''Administration > Modules > Manage filters''<br />
<br />
Filters allow for the automatic transformation of entered text into different, often more complex forms. For example the titles of [[Resources|resources]] can automatically become hyperlinks that take you to the relevant resource, URLs pointing to [[mp3]] files can become [[Flash]] controls embedded in the web page that let you pause and rewind the audio. The possibilities are endless and there are a number of standard filters included with Moodle and many more specialized filters available from the Moodle.org [http://moodle.org/mod/data/view.php?id=6009 Modules and plugins database].<br />
<br />
<br />
==Enabling filters==<br />
[[Image:filters admin.png|thumb|Filters administration in Moodle 1.8]]<br />
To enable a filter:<br />
#Access Administration > Modules > Filters.<br />
#On the filters administration page, click the eye icon opposite the filter you want to enable, so that it changes to an open eye.<br />
#Use the up/down arrow icons to arrange the filters in the order in which they should be applied.<br />
<br />
Certain filters have additional settings, which can be accessed via the links in the settings column.<br />
<br />
==Common settings==<br />
<br />
Note: Prior to Moodle 1.9, common filter settings can be found in ''Administration > Appearance > Filter settings''.<br />
<br />
===Text cache lifetime===<br />
<br />
Text filters can take a lot of processor power to analyze. If you have a large number of courses, the filters may slow your system. The text cache lifetime determines how often the filters run. If you set them to run too frequently, your system may<br />
slow down. If you set them to run too infrequently, analyzing new content will take too long and users will notice. You should experiment to find the correct amount of time for your server.<br />
<br />
===Filter uploaded files===<br />
<br />
This setting enables uploaded files (HTML and text only) to be processed by the filters system. You can choose to have none, only HTML or all files filtered.<br />
<br />
===Filter match once per page===<br />
<br />
This setting effects the glossary, activity and resource linking filters. If set to yes, only the first match on the complete page will be converted to a link. All others will be ignored.<br />
<br />
===Filter match once per text===<br />
<br />
This setting effects the glossary, activity and resource linking filters. If set to yes, only the first match in a discrete block of text will be converted to a link. All others in that text block will be ignored.<br />
<br />
===Filter all strings===<br />
<br />
If checked, headings and titles can be displayed in different languages using the [[Multi language content|multi-language filter]].<br />
<br />
==Standard filters==<br />
<br />
Filters included in the standard download are:<br />
<br />
*Activity Names Auto-linking - This scans text for activity titles that exist in the same course and creates a link.<br />
*[[Algebra filter|Algebra]] - This filter will convert algebra code into GIF images. It requires the [[TeX filter]] to be installed. Note also that your system must also include the following Perl module: HTML::Entities.pm<br />
*Database auto-linking - As the name suggests, this filter enables automatic linking of [[Database module]] entries.<br />
*Email Protection - This filter scans the text for any email addresses. Where found they are changed (obfuscated) to reduce the chance of being added to a spammers list. However, as this filter is switched off by default, the site administrator may wish to enable this filter before importing user's email addresses.<br />
*Glossary auto-linking - As the name suggests, this filter enables automatic linking of [[Glossary module]] entries. In addition to this filter, individual glossary entries should have the "This entry should be automatically linked" box checked.<br />
*[[Multi language content]] - This filter enables resources to be created in multiple languages. It looks for &lt;span&nbsp;lang="xx" class="multilang"&gt;...&lt;/span&gt; tags which indicate that a text contains multiple languages. Then it selects and outputs the best language for the current user. The language of the resource will change when the user changes their selected Moodle language. Please note: going to the past, the multilang filter supported the &lt;lang&gt; tag. Then, officially, we changed it to the standard HTML &lt;span&gt; tag and the &lt;lang&gt; solution is now deprecated.<br />
*[[Multimedia plugins]]<br />
*Resource Names Auto-linking - The titles of [[Resources]] can automatically become hyperlinks that take you to the relevant resource within the same course.<br />
*[[TeX filter|TeX notation]]<br />
*Tidy - This filter checks whether HTML code is XHTML compliant, tidying where necessary. To make this filter work you need to have PHP compiled with the libtidy option; see http://www.php.net/tidy. The Using Moodle discussion [http://moodle.org/mod/forum/discuss.php?d=28418 Tidy Filter for Moodle 1.5] contains more details.<br />
*Wiki Page Auto-linking<br />
*[[Word censorship]] - This filter "blacks out" words found on a list.<br />
<br />
==Non-standard filters==<br />
<br />
Filters are one of Moodle's pluggable resources and may be added or removed simply by using a file manager to add or remove them from the ''/filters'' directory. Moodle detects those that are present and makes them available to use. <br />
<br />
* [[Jmol filter|Jmol]] - for interactive 3D viewing of molecular structures<br />
* [[Code Syntax Highlighting]] - for more readable excerpts of programming languages including [[PHP]], [[HTML in Moodle|HTML]], [[CSS]], and XML amongst many others<br />
* [[HiddenText filter|HiddenText]] - for teachers who want to provide "hints" to students where the information is initially hidden but can easily be revealed by student in any time when he need.<br />
<br />
==See also==<br />
<br />
*[[Filters FAQ]]<br />
*[[Filters used on the Moodle.org forums]]<br />
*[[Development:Filters]]<br />
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=76206 Filter Demo's now online] forum discussion<br />
<br />
[[Category:Filter]]<br />
<br />
[[es:Filtros (Administrador)]]<br />
[[fr:Filtres (administrateur)]]<br />
[[ja:フィルタ (管理者)]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=LDAP_enrolment&diff=47326LDAP enrolment2008-11-28T02:51:35Z<p>SamuliK: /* The LDAP Enrollment Configuration in Moodle */</p>
<hr />
<div>Location: LDAP edit settings link in ''Administration > Courses > [[Enrolment plugins|Enrolments]]''<br />
<br />
<br />
== How to set up LDAP enrollment==<br />
This describes how to set up Lightweight Directory Access Protocol (LDAP) enrollment in Moodle (first written by Lars Jensen). [[LDAP enrolment]] works best in Moodle when used in conjunction with [[LDAP authentication]], and we're going to assume that you have already set Moodle up for LDAP authentication.<br />
<br />
=== Assumptions ===<br />
<br />
# You are running a recent version of Moodle. We have tested the setup presented here on versions 1.5.2+ and 1.6dev. It is likely to work on Moodle 1.4.5 as well.<br />
# You are using LDAP authentication as your primary authentication method.<br />
# Each user in has a uid attribute in the users LDAP record, that matches the ID number in the same users Moodle profile (this can easily be arranged with a mapping on the Moodle LDAP Authentication setup page).<br />
<br />
=== The Course Setup ===<br />
<br />
Our setup involves the following course and user definitions:<br />
<br />
* Two courses, '''Math101''' and '''Eng201'''.<br />
* Two teachers, '''TeacherA''' and '''TeacherB'''.<br />
* Three students, '''StudentD''', '''StudentE''', and '''StudentF'''.<br />
* StudentD and StudentE are enrolled as students in Math101, and TeacherA is enrolled as teacher of Math101. StudentE and StudentF are enrolled as students in Eng201, and TeacherA and TeacherB are both enrolled as teachers of Eng201.<br />
<br />
=== The LDAP Container Setup ===<br />
<br />
# Define two LDAP containers ou=StudentEnrollment and ou=TeacherEnrollment<br />
# For each course we define an LDAP group entry (e.g a posixGroup entry) in the StudentEnrollment and TeacherEnrollment containers. Thus, we define a Math101 posixGroup under StudentEnrollment, and we define a Math101 posixGroup under TeacherEnrollment. We define the two Eng201 groups in a similar way. Be careful, the name of the posixGroup has to match the Course ID number of the Moodle course. Do not use the course short name, it will not work.<br />
# Enroll students and teachers as members of in the LDAP-groups we just defined. This is done by entering the users uid attribute (idnumber) in the memberUid attribute of the relevant group:<br />
#* TeacherA is a member of the Math101 group under TeacherEnrollment.<br />
#* StudentD and StudentE are a members of the Math101 group under StudentEnrollment.<br />
#* TeacherA and TeacherB are members of the Eng201 group under TeacherEnrollment<br />
#* StudentE and StudentF are a members of the Eng201 group under StudentEnrollment.<br />
<br />
=== The LDAP Enrollment Configuration in Moodle ===<br />
<br />
The LDAP enrollment settings in Moodle corresponding to the above setup are as follows:<br />
<br />
{| cellspacing="0" cellpadding="5" border="1"<br />
! LDAP Enrollment Variable:<br />
! Value:<br />
|- <br />
| enrol_ldap_student_contexts:<br />
| ou=StudentEnrollment,dc=ldapserver,dc=tmcc,dc=edu<br />
|-<br />
| enrol_ldap_student_memberattribute:<br />
| memberUid (use 'member' -without the quotes- for Active Directory)<br />
|-<br />
| enrol_ldap_teacher_contexts:<br />
| ou=TeacherEnrollment,dc=ldapserver,dc=tmcc,dc=edu<br />
|-<br />
| enrol_ldap_teacher_memberattribute:<br />
| memberUid (use 'member' -without the quotes- for Active Directory)<br />
|-<br />
| enrol_ldap_objectclass:<br />
| posixGroup (use 'group' -without the quotes- for Active Directory)<br />
|-<br />
| enrol_ldap_course_idnumber:<br />
| cn<br />
|-<br />
| enrol_ldap_course_shortname:<br />
| cn<br />
|-<br />
| enrol_ldap_course_fullname:<br />
| cn<br />
|-<br />
| enrol_ldap_autocreate:<br />
| Yes<br />
|-<br />
|}<br />
<br />
Additionally, since you are using LDAP authentication, you should also map the Moodle "ID number" of users to the "uid" in the ldap entry of the user. This is done on the Moodle LDAP Authentication page (not the LDAP Enrollment page).<br />
<br />
=== Automatic course creation ===<br />
<br />
Courses can be created automatically if there are LDAP enrolments to a course that doesn't yet exist in Moodle. To enable this, set '''enrol_ldap_autocreate''' to '''Yes'''.<br />
<br />
'''enrol_ldap_category''' field sets the category for the automatically created courses.<br />
<br />
'''enrol_ldap_template''' field can contain the ''shortname'' of a course that is used as a template in the automatic course creation.<br />
<br />
=== Notes: ===<br />
<br />
# You do not need to create the courses manually in Moodle. If they don't exist, they will be created when the first enrolled user login.<br />
# We are using the same string cn and uid in a users LDAP record. This is not necessary, I believe. However, if you use different values, you will need to define the ldap_user_attribute to uid in the LDAP authentication setup.<br />
# The value of the group id number (gidNumber) defined for the groups in step 2 of the LDAP Container Setup above is not critical. It is not used in this setup.<br />
# The attached .ldif file assumes that users are in the ou=People container in LDAP. You will need to configure your LDAP Authentication setup to reflect this (ldap_contexts variable).<br />
# User passwords for this setup are defined in the attached .ldif file.<br />
# If you use the attached .ldif file, you'll need to edit the ldap server information (the "dn=" lines).<br />
<br />
==Other LDAP Layout==<br />
<br />
I do suggest to create a new LDAP object, say <TT>moodleCourse</TT>, which contains all information,&amp; members of the course, including teachers, students a.s.o. For instance (OpenLDAP):<br />
<pre><br />
attributetype ( oidAttrBase:44 NAME ( 'teacherUid' ) SUP memberUid<br />
DESC 'which person is a teacher of this course'<br />
)<br />
<br />
<br />
objectclass ( oidObjRoot:14 NAME 'moodleCourse' SUP top STRUCTURAL<br />
DESC 'course available in Moodle'<br />
MUST ( cn )<br />
MAY ( owner $ gn $ sn $ seeAlso $ description $ memberUid $ teacherUid )<br />
)<br />
<br />
Note: Openldap 2.x will need something like:<br />
<br />
attributetype ( 1.2.1.1.1.1.2.1 NAME 'teacherUid'<br />
SUP memberUid<br />
DESC 'which person is a teacher of this course'<br />
EQUALITY caseExactIA5Match<br />
SUBSTR caseExactIA5SubstringsMatch<br />
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )<br />
<br />
objectclass ( 1.2.1.1.1.1.1.1<br />
NAME 'moodleCourse'<br />
SUP top STRUCTURAL<br />
DESC 'course available in Moodle'<br />
MUST ( cn )<br />
MAY ( owner $ gn $ sn $ seeAlso $ description $ memberUid $ teacherUid )<br />
)<br />
</pre><br />
<br />
The configuration is like this, in <B>bold</B> you see required changes, in <I>italic</I> you see<br />
useful changes.<br />
<br />
{| cellspacing="0" cellpadding="5" border="1"<br />
! LDAP Enrollment Variable:<br />
! Value:<br />
|- <br />
| enrol_ldap_student_contexts:<br />
| <I>ou=moodle,ou=groups,dc=ldapserver,dc=tmcc,dc=edu</I><br />
|-<br />
| enrol_ldap_student_memberattribute:<br />
| memberUid<br />
|-<br />
| enrol_ldap_teacher_contexts:<br />
| <I>ou=moodle,ou=groups,dc=ldapserver,dc=tmcc,dc=edu</I><br />
|-<br />
| enrol_ldap_teacher_memberattribute:<br />
| <B>teacherUid</B><br />
|-<br />
| enrol_ldap_objectclass:<br />
| <B>moodleGroup</B><br />
|-<br />
| enrol_ldap_course_idnumber:<br />
| <I>cn</I><br />
|-<br />
| enrol_ldap_course_shortname:<br />
| givenname<br />
|-<br />
| enrol_ldap_course_fullname:<br />
| sn<br />
|-<br />
| enrol_ldap_course_summary:<br />
| description<br />
|-<br />
| enrol_ldap_autocreate:<br />
| Yes<br />
|-<br />
|}<br />
<br />
<STRONG>Note:</STRONG> The <TT>enrol_ldap_course_idnumber</TT> (<TT>cn</TT> in my setup) is used to identify the course by the LDAP enrolment script and the database uses an <TT>INTEGER</TT> numeric here, in Moodle v1.8 anyway. When you<br />
call <CODE>cd enrol/ldap/ && php -f enrol_ldap_sync.php</CODE> any course with the same idnumber is updated, hence,<br />
it is quite important for the LDAP synchronisation and needs to be unique.<br />
<br />
Sample of an moodleCourse LDAP object:<br />
<pre>dn: cn=851,ou=moodle,ou=groups,dc=ldapserver,dc=tmcc,dc=edu<br />
objectClass: moodleCourse<br />
cn: 851<br />
givenName: LV851<br />
sn: 2007S/Introduction to Moodle<br />
description: Jahr: 2007 Sommer, &lt;A TARGET=_blank HREF="https://other_server/display/851">Announcement&lt;/A><br />
teacherUid: userA<br />
memberUid: user1</pre><br />
<br />
In the same fashion one can add all the other role mappings.<br />
<br />
==See also==<br />
<br />
Using Moodle forum discussions:<br />
*[http://moodle.org/mod/forum/discuss.php?d=31761 LDAP Enrollment HOWTO] with Lars Jensen's 2005 post<br />
*[http://moodle.org/mod/forum/discuss.php?d=39549 LDAP Auto enrollment] <br />
*[http://moodle.org/mod/forum/discuss.php?d=41829 LDAP nightmare Part II] <br />
*[http://moodle.org/mod/forum/discuss.php?d=56198 Moodle + AD + LDAP = Confusion - Help Required and Provided]<br />
<br />
<br />
* [http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol Wikipedia on LDAP:] a great deal of information beyond the context of Moodle<br />
<br />
[[Category:Administrator]]<br />
[[Category:Enrolment]]<br />
<br />
[[fr:Inscription par LDAP]]<br />
[[ja:LDAPユーザ登録]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Grader_report&diff=46519Grader report2008-11-10T01:55:59Z<p>SamuliK: /* Highlighting scores that are either adequate or unacceptable in red and green */</p>
<hr />
<div>{{Grades}}The grader report page is the main teacher view of the new gradebook in Moodle 1.9. For versions prior to 1.9, look [[Grades_pre-1.9 | here]].<br />
<br />
<br />
=Basics=<br />
The gradebook collects [[Grade_items|items]] that have been graded from the various parts of Moodle that are assessed, and allows you to view and change them as well as sort them out into [[Grade_categories|categories]] and calculate totals in various ways. When you add an assessed item in a Moodle course, the gradebook automatically creates space for the grades it will produce and also adds the grades themselves as they are generated, either by the system or by you.<br />
<br />
The [[Grades|grades]] displayed are initially displayed as the raw marks from the assessments themselves, so will depend on how you set those up e.g. an essay out of 36 will appear as how ever many raw marks that student got, not a percentage (although this can be changed later, see below).<br />
<br />
Note that various default options for the gradebook are set at system level by the administrator and can be marked as being overridable by you, or fixed. This means that the options will not always be set up the same way for every user when they see the grader report for the first time.<br />
<br />
=Display=<br />
==Layout==<br />
[[Image:gradebook_normal_mode.png|right|thumb|Grader report in non-editing mode]]<br />
Along the top are several rows: first the course, then the category, then the actual column (e.g. an essay or a category total). When you start off, every essay, quiz etc is in the '''uncategorised''' category, which is named after the course by default, but can be changed if needed.<br />
<br />
You can add a row showing the range of possible scores by going to [[Grade_preferences|My report preferences]] and selecting '''Show ranges'''.<br />
<br />
There are three ways that the categories can be displayed<br />
<br />
* Grades only - without the category totals column<br />
* Collapsed - Category total column only<br />
* Full view - grades and the aggregates (the totals column for the category) <br />
<br />
Each section has a small icon immediately to the right of its name. Clicking this will cycle through these display modes for that category. + goes to grades only view, o goes to full view and - goes to collapsed view.<br />
<br />
===Other layout options===<br />
The defaults for these options can be set at site level by going to Administration->Grades->[[Gradebook_report_settings|Report settings]]->Grader report.<br />
<br />
*You can add a row showing the range of possible scores by going to [[Grade_preferences|My report preferences]] and selecting '''Show ranges'''.<br />
<br />
==Highlighting rows and columns==<br />
When your gradebook starts to grow, it can be hard to keep track of which student and which assignment a cell refers to. Highlighting solves that.<br />
* Clicking on empty space in the cell that contains the students name will toggle the highlighting of that entire row<br />
* Clicking on empty space in the cell at the top of each column will toggle highlighting of the entire column<br />
(Note: this requires Javascript to be enabled in your browser.)<br />
<br />
==Highlighting scores that are either adequate or unacceptable in red and green==<br />
<br />
Turn editing on and click on the edit icon in the controls cell at the top of the column. You can then (maybe need to click 'show advanced') see the option to enter a 'grade to pass'. Once set, any grades falling above this will be highlighted in green and any below will be highlighted in red.<br />
<br />
Note that the highlighting will not show if the Grader report is viewed in the editing mode.<br />
<br />
==Categorising the grades==<br />
The 'Choose an action...' drop down on the upper left will let you switch to other views<br />
* '''Edit categories and items''' will allow you to set up your assessments in different categories e.g. 'classwork', 'homework' etc. <br />
<br />
Each category will then have its own '''Category total''' column.<br />
<br />
<br />
=Editing=<br />
[[Image:gradebook_edit_mode.png|right|thumb|Grader report in editing mode]]<br />
Note: Editing anything in the gradebook refers to editing the grades '''only''' and none of the available operations bear any relationship to editing the main course page i.e. the appearance of your course page cannot be influenced by anything you do in the gradebook. The "Turn editing on" button functions separately to the main course one, so editing can be on in the gradebook, but simultaneously off when you switch back to course view. This is because editing grades and editing the course page are separate capabilities and a role e.g. 'non-editing teacher' may only have one or the other.<br />
<br />
==Altering the grades==<br />
You can click "Turn editing on" at the top right to show an edit icon next to each grade. Clicking on the icon will bring up the editing screen for that grade which will allow you to set the grade, its written feedback and a number of other attributes.<br />
<br />
Alternatively, you can click on "[[Grade_preferences|My report preferences]]"' and choose "Quick grading" and "Quick feedback" to make the report appear with editable boxes containing each grade, so you can change many at once.<br />
<br />
Quick feedback is switched off by default, but you can easily switch it on or off using the "Show Quick Feedback" link above the grader report, when editing is on. Alternatively you can switch it on and off in the page "[[Grade_preferences|My report preferences]]".<br />
<br />
==Calculating totals==<br />
Rather than a simple average or sum, Moodle can perform very complex calculations to produce the totals for each category and for the whole course. e.g. you want to take an average of 3 items from one category, double it, then add it to the average of another category.<br />
<br />
You can do this using calculations. Either turn on editing, then click '''Show calculations''', or go to '''[[Grade_preferences|My report preferences]]''', choose '''show calculations''', then save and turn editing on. You will then see a small calculator icon next to each total column which, when you click on it, will take you to the page [[Edit grade calculation]] where there are instructions.<br />
<br />
To choose how the grades are aggregated for the totals within categories, you can turn editing on and click on the little editing icon for the category. You can then choose to have means, medians, modes etc. leave out empty grades and other settings.<br />
<br />
==Hiding columns or individual grades==<br />
Turning on editing then clicking the "Show show/hide icons" link will give you the familiar show/hide eye icon next to each grade and at the top of each column. For more information, read about [[Grade_hiding|grade hiding]].<br />
<br />
==Recalculating==<br />
If you change any part of an assesment e.g. alter the maximum grade for one of the questions in a quiz, you may find that the columns do not yet reflect the change you have made. Click 'Turn editing on' twice to force the gradebook to re-check.<br />
<br />
==See also==<br />
*[[Edit grade calculation]]<br />
*[[Grade preferences]]<br />
*[http://www.youtube.com/watch?v=EB58W3KePBc Video showing the basic gradebook setup and use]<br />
*[http://www.youtube.com/watch?v=jWPUEqdhI4A Video showing how to change the display of grades in the gradebook]<br />
*[http://www.youtube.com/watch?v=5hrLNbifiGQ Video explaining the different gradebook reports]<br />
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=87844 What happens in the 1.9 gradebook when students are unenrolled from a course] forum discussion<br />
<br />
[[ca:grade/report/grader/index]]<br />
[[cs:Celkový přehled]]<br />
[[fr:Rapport de l'évaluateur]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Blog_menu_block&diff=46428Blog menu block2008-11-07T03:04:15Z<p>SamuliK: </p>
<hr />
<div>The blog menu block provides links to <br />
*[[Adding/editing a blog entry|Add a new entry]]<br />
* View my entries (in the Blog tab of your profile page)<br />
* [[Blog preferences]]<br />
* View site entries (in the Blogs tab of the site participants page)<br />
* [[Add/delete blog tags|Add/delete tags]] (in a pop-up window)<br />
<br />
{{Moodle 1.9}}Note that in Moodle 1.9, the blog tag management has been moved to [[Manage tags]] page.<br />
<br />
The block menu block appears in the Blog tab of your profile page. The block may also be added to a course homepage.<br />
<br />
[[Category:Blog]]<br />
[[Category:Block]]<br />
<br />
[[eu:Blog_menua_blokea]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Database_templates&diff=46163Database templates2008-11-04T12:42:27Z<p>SamuliK: /* Tag usage */</p>
<hr />
<div>{{Databases}}<br />
Templates for the [[Database module]] allow you to control the visual layout of information when listing, viewing or editing database entries. It is a similar to the technique used to ''mail merge'' letters in word proccessors such as Open Office Writer or Microsoft Word. <br />
<br />
<br />
== Tag usage ==<br />
<br />
The content of each [[Database fields|field]] you create for your database and some special tags (listed below) can be inserted into the output template by the use of tags.<br />
<br />
Fields have the format <code><nowiki>[[fieldname]]</nowiki></code>. All other tags have the format <code>##sometag##</code>.<br />
<br />
To use the tags in the box on the left of the page, use the HTML viewer, place your cursor in the text area of your target edit and then click on the tag you want to place. Alternatively, you may simply type the appropriate name within the required symbols like <code>##this##</code> or <code><nowiki>[[this]]</nowiki></code>, respectively.<br />
<br />
* <code>##edit##</code> creates a clickable icon link that allows you to edit the current entry (only appears if you have the rights to do this)<br />
* <code>##delete##</code> creates a link that lets you delete the current entry (only appears if you have the rights to do this)<br />
* <code>##approve##</code> create a link that lets you approve the current database entry (only appears if you have the rights to do this)<br />
* <code>##more##</code> creates a link to the single view, which may contain more detailed info<br />
* <code>##moreurl##</code> creates just the URL for the above link, useful for creating your own links. You can click on the link icon and type <code>##moreurl##</code> into URL field or in source view type <pre><a href="##moreurl##">[[fieldname]]</a></pre><br />
* <code>##comments##</code> creates a link to the view/edit comments page, the link text is the current number of comments (only appears if comments are turned on)<br />
* <code>##user##</code> creates a link to the user page of the user who submitted the entry, link text is their name<br />
<br />
{{Moodle 1.9}}Moodle 1.9.1 onwards includes the following additional tags:<br />
<br />
* <code>##timeadded##</code><br />
* <code>##timemodified##</code><br />
* <code>##firstname##</code><br />
* <code>##lastname##</code><br />
<br />
== List template ==<br />
<br />
This template allows you to control the fields used and their layout when viewing multiple entries at once (e.g. search results). It is possible that this view may simply provide an overview with more detailed information available by clicking on an entry to access the single view of the entry.<br />
<br />
The list template can also be used as a way to [[Database export|export your database]] as a CSV file<br />
<br />
== Single template ==<br />
<br />
[[Image:single template.png|thumb|A single template]]<br />
This is used to display a single entry at a time and so has more space for display and can use, for example, larger versions of images or optionally provide more information than shown in the list view.<br />
<br />
== Advanced search template ==<br />
<br />
{{Moodle 1.9}}An advanced search template is included in Moodle 1.9 onwards for creating the interface form used in the advanced search. <br />
<br />
== Add template ==<br />
<br />
This template creates the interface form used when adding or editing database entries. <br />
<br />
== RSS template ==<br />
<br />
Lets you control the content of the [[RSS]] feed for database entries.<br />
<br />
== CSS template ==<br />
<br />
If any of the [[HTML in Moodle|HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.<br />
<br />
== Javascript template ==<br />
<br />
You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation. <br />
<br />
Lets say, for example, you have a field in your database that stores a persons name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.<br />
<br />
Your database will contain a field which we will call "name". In your List template you will be able to display the contents of that field by using the <nowiki>[[name]]</nowiki> construct at the place where you want that information displayed. For example in the ''Repeated entry'' on the list template you will have<br />
<br />
<pre><br />
<table><br />
<tr><br />
<td>Name: [[name]]</td><br />
</tr><br />
<table> <br />
</pre><br />
<br />
You now need to modify that entry to ensure that the part you want to manipulate is a named element.<br />
<br />
<pre><br />
<table><br />
<tr><br />
<td name="named">Name: [[name]]</td><br />
</tr><br />
<table> <br />
</pre><br />
<br />
The footer of your list view can then contain another named element to display the result.<br />
<br />
<pre><br />
<div name="result"></div><br />
</pre><br />
<br />
Your javascript template can now look as follows<br />
<br />
<pre><br />
var cnt = 0;<br />
var re = /foo|Foo/;<br />
<br />
function init(){<br />
var namedElements = document.getElementsByName("named");<br />
for (i=0; i < namedElements.length; i++) {<br />
if(re.test(namedElements[i].innerHTML)) cnt++;<br />
}<br />
var namedResult = document.getElementsByName("result");<br />
namedResult[0].innerHTML = cnt;<br />
}<br />
<br />
window.onload = init;<br />
</pre><br />
<br />
This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.<br />
<br />
== Reset templates button ==<br />
<br />
When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the ''reset templates'' button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.<br />
<br />
==See also==<br />
*[[Database presets]]<br />
*[http://video.google.com/videoplay?docid=7026851446099005477 Video demonstrating tag usage]<br />
<br />
Using Moodle forum discussions: <br />
*[http://moodle.org/mod/forum/discuss.php?d=55338 Look of the database module]<br />
*[http://moodle.org/mod/forum/discuss.php?d=74243 How can I list database information horizontally instead of vertically?]<br />
*[http://moodle.org/mod/forum/discuss.php?d=61179 For those who want the display of Moodle Site's Modules and plugins]<br />
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can't get columns to line up in list view]<br />
*[http://moodle.org/mod/forum/discuss.php?d=86927 Time stamp for database entries?]<br />
<br />
[[fr:Modèles]]<br />
[[ru:Шаблоны]]<br />
[[ja:データベーステンプレート]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Book_settings&diff=46132Book settings2008-11-04T03:18:59Z<p>SamuliK: </p>
<hr />
<div>{{Book}}<br />
__TOC__<br />
Turn on editing in your course and choose the book resource from the drop down activity menu:<br />
[[Image:Book1.png|frame|left|getting started]] <br style="clear:both;"><br />
<br />
Note that in new versions of Moodle the Book module has been moved to the resource menu.<br />
<br />
== Give your book a name and a summary ==<br />
<br />
Tell your students what your book is called and provide a brief description of its content. Keep in mind that ''the name you give your book will become the text for the link to it'' on your main course page. This is true of all the activities you create in Moodle.<br />
<br />
[[Image:Book2.png|frame|none|add name and summary]]<br />
<br />
== Indicate how you want chapters numbered ==<br />
<br />
There are several predefined numbering types: <br />
<br />
* None - chapter and subchapter titles are not formatted at all, use if you want to define special numbering styles. For example letters: in chapter title type "A First Chapter", "A.1 Some Subchapter",...<br />
<br />
* Numbers - chapters and subchapters are numbered (1, 1.1, 1.2, 2, ...)<br />
<br />
* Bullets - subchapters are indented and displayed with bullets.<br />
<br />
* Indented - subchapters are indented.<br />
<br />
[[Image:Book3.png|frame|none|define numbering]]<br />
<br />
Note that the width of the table of contents is set by the administrator of your site.<br />
<br />
== Enable or disable printing ==<br />
<br />
''Disabling printing'' means hiding the print icons. (The print option is one of this resource's most popular features, so you might not want to disable it.)<br />
<br />
[[Image:Book4.png|frame|none|allow printing?]]<br />
<br />
== Allow or disallow custom titles ==<br />
<br />
If you disallow custom titles, the chapter title (the one that appears on the table of contents) will appear as a header at the top of your content. If you enable custom titles, you will be able to create a title different from the one that appears in the ToC.<br />
<br />
[[Image:Book5.png|frame|none|permit custom titles?]] <br />
<br />
[[Image:Custom_title.jpg|frame|none|Custom Titles Enabled: The custom title (red arrow) is different than the title in the table of contents (green arrow).]]<br />
<br />
[[Image:Custom_title2.jpg|frame|none|Custom Titles Disabled: The titles in the table of contents and in the chapter are the same.]]<br />
<br />
== Add a chapter ==<br />
<br />
Titles of chapters appear as links in the table of contents to the left of your content. Keep your titles short.<br />
<br />
[[Image:Book6.png|frame|none|add a chapter]]<br />
<br />
== View work to date ==<br />
<br />
So far, you see the table of contents on the left and the content on the right. Note the print icons near the top.<br />
<br />
To add another chapter, click on the red cross in the Table of Contents. The new chapter will be inserted directly after the chapter whose title is on the same line as the red cross you click.<br />
<br />
[[Image:Book7.png|frame|none|so far, so good]]<br />
<br />
== Add a sub chapter ==<br />
<br />
Note that the sub chapter box is checked. A chapter may have many sub chapters, but sub chapters cannot have subchapters. In order to keep this resource simple, you are limted to two levels.<br />
<br />
[[Image:Book8.png|frame|none|add a sub chapter]]<br />
<br />
== Using Book ==<br />
<br />
One may, of course, use book to present information in a well-structured, user-friendly format. But there are other possibilities. Because this module allows one to import individual web pages or folders of web pages, it is useful for group work. Example: Each student creates a simple web page about your school and the teacher, (that's you!) uploads the pages to the book. ''Viola!'' You and your students have created a useful, interesting resource for new students and their parents. You could do this to create a class cook book and nutrition guide, a resource about local civic organizations, ''triangles in our daily lives'', world leaders, you name it.<br />
<br />
[[Image:Book-import1.png|frame|none|click on the import link]]<br />
<br />
[[Image:Book-import2.png|frame|none|browse to the desired web page or folder of web pages and import them into your book]]<br />
<br />
Note: Relative file links are converted to absolute chapter links. Images, Flash and Java are relinked too. Remember to upload images and multimedia files as well as html files to your server, of course. Javascripts, SSI page includes, etc., will probably be lost, however, so keep your pages simple and static.<br />
<br />
[[Category:Teacher]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Multimedia_plugins_filter&diff=46116Multimedia plugins filter2008-11-04T00:08:03Z<p>SamuliK: /* Settings page */</p>
<hr />
<div>Location: Multimedia Plugins settings link in ''Site administration > Modules > Filters > Manage filters''<br />
<br />
<br />
The Multimedia plugins filter finds URLs that point to multimedia resources in text and replaces them with an appropriate multimedia player.<br />
<br />
<br />
== Supported media formats ==<br />
* .mp3 - MPEG Audio Stream, Layer III<br />
* .swf - Macromedia Flash Format File (Adobe, Inc.)<br />
* .mov - QuickTime Video Clip (Apple Computer, Inc.)<br />
* .wmv - Windows Media File (Microsoft)<br />
* .mpg - MPEG Animation<br />
* .avi - Audio Video Interleave File<br />
* .flv - Flash Video File (Macromedia, Inc.)<br />
* .ram - RealMedia Metafile (RealNetworks, Inc.)<br />
* .rpm - RealMedia Player Plug-in (RealNetworks)<br />
* .rm - RealMedia Streaming Media (Real Networks, Inc.)<br />
<br />
== Usage ==<br />
<br />
Insert the URL of the multimedia resource into your text (which can be the URL of a file in the course files area). When displayed a suitable player will be provided. Moodle detects the media type using the filename extension, so you should ensure that the file contents match the extension correctly.<br />
<br />
For some file types, like Flash, you can size the plugin using an extended syntax:<br />
<br />
<a href="somepath.swf?d=640x480">My link name</a><br />
<br />
where the first number is the width in pixels, and the second is the height. <br />
<br />
== Required Software ==<br />
<br />
Although Moodle prepares the media files to be played in the browser, the actual playback is handled by various types of browser plug-in software, primarily Adobe Flash, Quicktime, Windows Media Player and Real Player. If users do not have these installed they may be prompted to go and install them by their browser. These pieces of software are generally free, easily installed and widely used so this will only be an issue for small numbers of users.<br />
<br />
== Settings page ==<br />
The settings page is in the administration block. Prior to version 1.7, this can be reach from ''Configuration > Filters > MultiMedia Plugins''. In 1.7 it can be found via ''Administration > Modules > Filters > MultiMedia Plugins''. In 1.8 it can be found via:<br />
''Notifications > Modules > Filters > MultiMedia Plugins > Settings''.<br />
<br />
There is an individual setting to turn on or off each supported media type. Note that by default all but the Flash (.swf) filter are enabled. As Flash files present a theoretical security risk, it is strongly recommended not to allow users to add flash content.<br />
<br />
== See also ==<br />
<br />
* [[Filters]]<br />
* [[MP3 player]]<br />
* [[Audio in Moodle]]<br />
<br />
Using Moodle forum discussions:<br />
* [http://moodle.org/mod/forum/discuss.php?d=37119 Multimedia plugin vs object embed]<br />
* [http://moodle.org/mod/forum/discuss.php?d=29588 Size of embedded Flash]<br />
* [http://moodle.org/mod/forum/discuss.php?d=89416&parent=394828 Linking to FLV video files]<br />
* [http://moodle.org/mod/forum/discuss.php?d=90781 video streaming]<br />
* [http://moodle.org/mod/forum/discuss.php?d=95174 Media filter does not work for rm files]<br />
* [http://moodle.org/mod/forum/discuss.php?d=98698 swf filter security]<br />
<br />
[[Category:Filter]]<br />
[[pl:Pluginy_Multimedia]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installation_quick_guide&diff=46028Installation quick guide2008-11-01T07:21:18Z<p>SamuliK: Undo revision 46018 by Belinda71 (Talk)</p>
<hr />
<div>This guide is designed for administrators who have installed Moodle before and need a quick recap to jog their memory. It could also be useful for those administrators who wish to have an overview of the installation procedure before they start with our [[Installing Moodle| more detailed installation guide]].<br />
<br />
===Preparation===<br />
<br />
* Install PHP and required extensions, a supported database such as MySQL and a webserver on the target computer<br />
* Create a blank database (call it moodle if you like) and create a database user with the appropriate permissions<br />
* Create a data directory (call it moodledata if you wish) outside of the webserver. <br />
* Ensure the webserver is the owner of the data folder and give the owner read, write and execute permissions<br />
* Download Moodle<br />
<br />
===Installation===<br />
<br />
* Extract the files and place them in the documents folder on the webserver (or any subfolder of your webserver)<br />
* Go to <nowiki>http://yourserver/install.php</nowiki> or <nowiki>http://yourserver/subfolders/install.php</nowiki> to start the installation<br />
* Download the [[Configuration file | config.php]] file from your webserver and place in the moodle root if prompted<br />
<br />
===Configuration===<br />
<br />
* If you agree with the [[License | GPL license]] you will be allowed to continue<br />
* Give your site a name and description<br />
* Configure an admin account<br />
<br />
===One last thing===<br />
Once you have finished setting up moodle you need to set up [[Cron|cron]].<br />
<br />
'''That's it! Well done :-)'''<br />
<br />
==See Also==<br />
<br />
* [[Installing Moodle]] A more detailed installation guide<br />
* [[Installation FAQ]]<br />
<br />
[[Category: Administrator]]<br />
<br />
[[no:Hurtiginstallasjonsveiledning]]<br />
[[ru:Установка Quickstart]]<br />
[[ja:インストールクイックスタート]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Common_module_settings&diff=45811Common module settings2008-10-27T07:01:22Z<p>SamuliK: </p>
<hr />
<div>On the settings page for many modules, there is a section called "Common module settings". This refers to settings that are common to many modules. <br />
<br />
For example in:<br />
*Assignment activity, this section has two items and a point of information.<br />
**Indicates status of group mode<br />
**Visible (show, hide)<br />
**ID number (blank field)<br />
*Text page resource, has two items<br />
**Visible (show, hide)<br />
**ID number (blank field)<br />
<br />
==See also==<br />
<br />
* [[Grade calculations#Assigning ID numbers|Assigning module ID numbers for Grade calculations]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Common_module_settings&diff=45810Common module settings2008-10-27T07:01:05Z<p>SamuliK: Adding a 'See also' link</p>
<hr />
<div>On the settings page for many modules, there is a section called "Common module settings". This refers to settings that are common to many modules. <br />
<br />
For example in:<br />
*Assignment activity, this section has two items and a point of information.<br />
**Indicates status of group mode<br />
**Visible (show, hide)<br />
**ID number (blank field)<br />
*Text page resource, has two items<br />
**Visible (show, hide)<br />
**ID number (blank field)<br />
<br />
==See also==<br />
<br />
* [[Grade calculations#Assigning ID numbers|Assigning ID numbers for Grade calculations]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Setting_up_Eclipse&diff=43831Development:Setting up Eclipse2008-09-17T09:09:13Z<p>SamuliK: /* The first time you run Eclipse */</p>
<hr />
<div>[http://www.eclipse.org/ Eclipse] is an IDE originally designed for Java, but now with plugins for many languages including PHP. It has lots of very powerful features, and it is the editor that some Moodle developers like to use. Other (more) popular choices are vim and emacs.<br />
<br />
However, Eclipse is not the easiest program in the world to get started with, so I'm going to take you through it step by step. These instructions assume Eclipse 3.2, the current version at the time of writing. It should not change much between releases.<br />
<br />
This article started off as a brain-dump by [[User:Tim Hunt|Tim Hunt]]. Since then, several other people have worked through it and made corrections, so the information here should be pretty accurate.<br />
<br />
==Prerequisites==<br />
<br />
Eclipse is written in Java, so I recommend getting the latest Java runtime environment from http://java.com/ for maximum speed and reliability.<br />
<br />
Eclipse is quite big, so I recommend lots of memory in your computer. I have used it on Windows, MacOS X and Linux, in each case with 1GB of memory, and that is plenty.<br />
<br />
==Installing Eclipse==<br />
<br />
Go to http://www.eclipse.org/downloads/. Click on the link corresponding to your operating system where it says '''Eclipse Classic'''. Choose a Mirror, and wait for the ~100MB download.<br />
<br />
You will notice that what you have got is a zip file (unless your system automatically decompresses it for you).<br />
<br />
On Windows, unzip it into '''C:\Program Files''' (all the files go into an '''Eclipse''' folder there). Then look in the Eclipse folder and drag Eclipse.exe to the Start menu/Desktop/Quicklaunch bar to make a shortcut for starting it.<br />
<br />
On MacOS, unzip and copy the Eclipse folder into Applications. Go into the Eclipse folder and drag the Eclipse app to the Dock for ease of launching.<br />
<br />
On Linux, unzip somewhere suitable, and make an easy way to launch it.<br />
<br />
==The first time you run Eclipse==<br />
<br />
The first time you launch Eclipse it does a bit of setup stuff, for instance, it creates a '''workspace'''. This is where it stores the things you are working on. The default location is sensible on all platforms, so use that. <br />
<br />
For some reason, every time you start Eclipse, it asks you which workspace you want to use. I have never seen the need to have more than one, so I recommend turning on the checkbox that says "Use this as the default and do not ask again".<br />
<br />
Another thing that happens the first time you run Eclipse is that you arrive at a welcome screen. This has links to various bits of help, which you can read if you like, but you probably don't need to if you are following these instructions. So find the button on the welcome page that closes it and gets you to the main Eclipse screen.<br />
<br />
==Installing the necessary plugins==<br />
<br />
By default, Eclipse comes with the Java tools. For everything else you will need to install some plugins.<br />
<br />
If you are sitting behind a web proxy, from the '''Window''' menu choose '''Preferences ...'''. Choose '''Install/Update''' from the tree view on the left, and enter the proxy information in the boxes on the right. If you aren't behind a proxy, ignore this step. (On Eclipse 3.4.0 on OSX this is in '''Eclipse > Preferences > General > Network Connections''')<br />
<br />
From the '''Help''' menu choose '''Software Updates -> Find and Install'''.<br />
<br />
On the first screen of the wizard, make sure that "Search for new features to install" is selected, then click '''Next >'''.<br />
<br />
The next screen is a list of upgrade sites to check. You need to add one to the list, so click the '''New Remote Site ...''' Button.<br />
<br />
In the pop-up dialog, give the remote site a name like '''PHPeclipse Update Site'''; set the URL to http://update.phpeclipse.net/update/nightly; then click '''OK'''. Under '''PHPEclipse Stable Builds''', check '''PHPeclipse'''<br />
<br />
''Note, there is now also another PHP editor for Eclipse. The update URL ishttp://download.eclipse.org/tools/pdt/updates/. I am just trying it--[[User:Tim Hunt|Tim Hunt]] 11:39, 7 November 2007 (CST)''<br />
<br />
Back in the wizard, turn on just two things in the box "Sites to include in search":<br />
* Your newly created '''Phpeclipse Update Site'''; and<br />
* the one called '''Europa Discovery Site''' (or possibly '''Callisto Discovery Site'''.<br />
Then click '''Finish'''.<br />
<br />
It goes off sees what updates are available at those sites. As it does so, it may occasionally pop up a dialog asking you to choose a mirror. Each time, select a sensible one.<br />
<br />
Eventually, you get to a new wizard for selecting and installing the updates you want. The ones you want (you may have to search the tree structure) are, '''PHPeclipse''' (from your newly created PHPEclipse Update Site) and all the '''Web Standard Tools (WST)''' (usually under Callisto Discovery Site --> Web and J2EE Development).<br />
<br />
Next, and very importantly, you must click the '''Select Required''' button which should resolve dependencies and remove the warning message you are probably worrying about. Then you can click the '''Next >''' button.<br />
<br />
Read and agree to all the license agreements. Then click '''Next >'''. <br />
<br />
Click '''Finish''', and wait for the plugins to download.<br />
<br />
Once the downloads have finished, a warning will pop-up telling you that all the plugins you downloaded are not digitally signed. The Eclipse Foundation build digital signing of plugins into their architecture as a security measure, and then did not sign any of their own plugins! Anyway, click the '''Install All''' button.<br />
<br />
Finally, a window will pop up asking you to restart Eclipse. Do so.<br />
<br />
==Setting the preferences for Moodle development==<br />
<br />
Now go to the '''Window''' menu, and choose '''Preferences ...''' ('''Eclipse''' menu on Mac OS X).<br />
<br />
The Eclipse preferences are immense, with a tree view on the left, which selects which screen to display on the right. Don't panic, we'll guide you through it.<br />
<br />
===General settings===<br />
<br />
If you have strong feelings about fonts (I would hate to edit code an anything except Andale Mono), choose '''General -> Appearance -> Colors and Fonts''' from the tree on the left. Then on the right look under '''Basic''' and change '''Text Font'''. All the other editor font settings will inherit from this, so this is probably the only one you have to change.<br />
<br />
Under '''General -> Content Types''', select PHP Source File, and add '''*.html''' to the box at the bottom.<br />
<br />
Under '''General -> Editors -> File Associations''', if it is not already there, add '''*.php''' to the top box. With '''*.php''' selected in the top box, make sure '''PHP Editor''' is set to default in the bottom box. With '''*.html''' selected in the top box, select '''PHP Editor''' in the bottom box and click the '''Default''' button to change it, because in Moodle, most HTML files actually contain PHP code.<br />
<br />
If you use a web proxy, enter the details under '''Internet -> Proxy Settings'''. (Yes, I know you have entered them somewhere else before. Now you have to enter them again here. I don't know why. You just do.)<br />
<br />
===PHP Settings===<br />
<br />
These are all hidden under the '''PHPeclipse Web Development''' bit of the tree.<br />
<br />
Under '''PHPeclipse Web Development -> Browser Preview Defaults''', turn off both checkboxes.<br />
<br />
Under '''PHPeclipse Web Development -> PHP''', on the '''Appearance''' tab, set '''Displayed tab width''' to 4.<br />
<br />
Under '''PHPeclipse Web Development -> PHP''', on the '''Appearance''' tab, check '''Show line numbers''' to display line numbers in the left margin (optional). NOTE.- When you are editing a PHP file, you could left-click in the left margin and tick the '''Show Line Numbers''' line in the contextual menu. However, this toggle only applies to plain text files, ''not'' to HTML or PHP files. The only place where you can toggle line numbers on/off for such files is in the PHP/Appearance menu.<br />
<br />
Under '''PHPeclipse Web Development -> PHP''', on the '''Typing''' tab, turn off all the options except '''Pasting for correct indentation''', '''Insert spaces for tab''' and '''Close PHPdocs and comments''' and '''Remove trailing spaces on editor save'''. It would be nice to turn on more of these options, but most of the rest don't work very well.<br />
<br />
Under '''PHPeclipse Web Development -> PHP -> Formatter''', on the '''New Lines''' tab, turn on '''Clear all blank lines'''.<br />
<br />
Under '''PHPeclipse Web Development -> PHP -> Formatter''', on the '''Style''' tab, turn off '''Indentation is represented by a tab'''.<br />
<br />
Under '''PHPeclipse Web Development -> PHP -> Templates''', I like to define a new template to help with debugging:<br />
;Name<br />
:dump <br />
;Description<br />
:Dump a PHP variable<br />
;Pattern<br />
<pre>print_object(${word_selection}${cursor}); // DONOTCOMMIT</pre><br />
You can do other useful things with templates too. Here are two more I use:<br />
<pre>debugging("'${word_selection}${cursor}'"); // DONOTCOMMIT</pre><br />
<pre>$$string['${word_selection}${cursor}'] = '.';</pre><br />
That is, a simple debug message with a stack trace, and a new language string.<br />
<br />
There is a really stupid bug. Under '''PHPeclipse Web Development -> Project Defaults''', you would like to add "." to the '''Include Paths''', but you can't using the GUI. You will have to edit one of the Eclipse config files by hand. So<br />
# Note down the path to your Eclipse profile. On Windows it will be something like '''C:/Documents and settings/XXXX/workspace''', and on Unixy systems something like '''~/workspace'''.<br />
# Close Eclipse. <br />
# Open the file '''net.sourceforge.phpeclipse.ui.prefs''' that is in the directory '''(your workspace)/.metadata/.plugins/org.eclipse.core.runtime/.settings''' in a text editor.<br />
# Look for a line in the file that starts '''_php_include_paths=''' If it is not there, add it at the end.<br />
# Change this line to say '''_php_include_paths=.'''<br />
# Run Eclipse again.<br />
<br />
===SSH2===<br />
Information about generating SSH2 keys for the purpose of connecting to cvs.moodle.org can be found here at https://docs.moodle.org/en/Development:SSH_key , but please finish reading this section before reading that material.<br />
<br />
The Eclipse installation has its own SSH client plugin so you do not have to use a separate ssh client in connection with your use of Eclipse (this is one reason you will be using extssh below, instead of just ext, however, if you wish you may alter the configuration to use an external client but please post news of your success and configuration). See, http://www.jcraft.com/eclipse-cvsssh2/ , for additional information on this plugin. <br />
<br />
'' Since Eclipse 3.0M6 the CVSSSH plugin is incorporated into Eclipse, [http://www.jroller.com/prane/entry/eclipse_3_0_cvs_support as "extssh" instead of "extssh2"] - --[[User:Olli Savolainen|Olli Savolainen]] 07:54, 23 June 2008 (CDT)''<br />
<br />
Please note that Eclipse is fully equipped to generate ssh2 rsa and dsa keys as well as import keys. You may encounter issues with passphrases that are too long (a bug reportedly fixed but which may still in fact be present) and some issues with using keypairs generated by other applications have been seen, so it may be best to generate a key pair with Eclipse. Additional details on how to do this will be added.<br />
<br />
Sourceforge, at http://sourceforge.net/docs/F02/ , provides instructions on how to create a SSH key for it's CVS (remember, Moodle does not use sourceforge for its CVS now and you will need to generate keys for cvs.moodle.org, not sourceforge). This is mentioned by way of general explanation, not for the purposes of providing instructions on how to generate your keys for Eclipse. To make use of the public key, login to Moodle.org and add it via the Update My Developer Information tab under CVS Developers (http://moodle.org/cvs). Remember, public keys provided to Moodle must be in the Openssh format.<br />
<br />
===CVS Settings===<br />
<br />
These are almost all hidden under the '''Team''' bit of the tree.<br />
<br />
Under '''General -> Network Connections -> SSH2 -> Key Management''', you can set up a public/private key pair. If you do this, you won't have to keep typing your password when doing CVS operations. <br />
<br />
The rest of the ones in this section are personal preferences, but I recommend them because the default settings are very irritating.<br />
<br />
Under '''Team''', set '''Perspectives''' to '''None'''.<br />
<br />
Under '''Team''', set '''Perspectives''' to '''None'''.<br />
<br />
Under '''Team -> CVS''', on the '''Files and Folders''' tab, set '''Default text mode''' to '''ASCII with keyword expansion (-kkv)'''.<br />
<br />
Under '''Team -> CVS -> Annotate''' set '''Use Quick Diff annotate mode for local file annotations''' to '''Yes''', and '''Open perspective after a 'Show Annotations' operation''' to '''No'''.<br />
<br />
Under '''Team -> CVS -> Label Decorations''', switch to the '''Icon Decorations''' tab and turn on all the settings, and then on the '''Text Decorations''' tab change both '''File Decoration''' and '''Folder Decoration''' to be just '''{name}'''.<br />
<br />
===Web and XML settings===<br />
<br />
Foreach XXX in CSS, HTML, Javascript, XML:<br />
<br />
Under '''Web and XML -> XXX Files ->XXX Source''', choose '''Indent using spaces''' and '''indentation size''' 4.<br />
<br />
==Checking out the Moodle code==<br />
<br />
From the '''File''' menu, choose '''New -> Project ...'''.<br />
<br />
In the wizard that pops up, choose '''CVS -> Projects from CVS''', then click '''Next >'''.<br />
<br />
Select '''Create a new repository location''', then click '''Next >'''.<br />
<br />
Fill in<br />
<div style="float: right; border: 1px solid orange; padding: 0 1em;"><br />
For anonymous CVS access use<br />
;Host<br />
:XX.cvs.moodle.org<br />
where XX.cvs.moodle.org is one of [[CVS_for_Administrators#CVS_Servers|these mirrors]]<br />
;Repository path<br />
:/cvsroot/moodle<br />
;User<br />
:anonymous<br />
;Password<br />
:(leave blank)<br />
;Connection type<br />
:pserver<br />
</div><br />
;Host<br />
:cvs.moodle.org<br />
;Repository path<br />
:/cvsroot/moodle<br />
;User<br />
:(your Moodle CVS username)<br />
;Password<br />
:(if you set up the SSH2 key thing in preferences, leave this blank, otherwise, type in your Moodle CVS password.)<br />
;Connection type<br />
:extssh<br />
(CVS experts, if you are confused by that last one, know it is an Eclipse-specific thing.) Then click '''Next >'''.<br />
<br />
On the next screen of the Wizard, choose '''Use an existing module'''. Wait a moment, then select '''moodle''' from the list. Click '''Next >'''.<br />
<br />
On the next screen, make sure the option '''Check out as a project configured using the New Project Wizard''' is selected, then click '''Next >'''.<br />
<br />
Click '''Refresh Tags''', then choose the branch you want. For now leave it set to '''HEAD'''.<br />
<br />
Click '''Finish'''.<br />
<br />
<br />
Now you will find yourself back at the start of the '''New Project''' Wizard. This is because of the option you chose three paragraphs ago. This time you should select '''PHP -> PHP Project''', then click '''Next >'''.<br />
<br />
Make up a project name. '''moodle''' would be sensible.<br />
<br />
Click '''Finish''', and wait while all the moodle files are checked out of CVS.<br />
<br />
Once it has finished, it will probably ask you if you want to switch to the PHP perspective. Answer '''Yes'''.<br />
<br />
<br />
If you also need another branch (1.6, 1.7, 1.8, ...) repeat all the other steps with a few changes:<br />
* This time you can choose '''Use an existing repository location''' instead of typing all the sourceforge CVS details again.<br />
* Select the appropriate branch. If you don't see the branch you want, see [https://docs.moodle.org/en/Development:Setting_up_Eclipse#Resetting_the_branch_information this Troubleshooting tip].<br />
* Use a different project name (e.g. moodle16, moodle17, etc.).<br />
<br />
==Let your development web server know where your files are==<br />
<br />
Either by editing you web server's config files, or using a symbolic link. Make sure your webserver can see your new working set of files at a sensible URL, so you can test the code you are working on.<br />
<br />
<br />
==Quick tour of some cool features, and remaining configuration changes==<br />
<br />
I find the default workbench setup is pretty good. Here is a quick guide to some of the bits.<br />
<br />
===Navigator===<br />
<br />
To the left is the '''Navigator'''. This is a tree view of all your files. If you double-click on a file, it opens in the editor in the middle. Try opening '''course/lib.php''' now. You will notice that it comes up nicely syntax-hightlighted.<br />
<br />
===Error highlighting===<br />
<br />
In the middle of the file, just type any old text, for example "I like Eclipse". Obviously, this is not valid PHP syntax, and Eclipse will notice this, and put a red underline under it. Also, by the scrollbar is a ruler with a red mark in it to show the error.<br />
<br />
You will see some yellow marks lower down the ruler. There are warnings. Click on one, and you will be taken to where that warning is in the file. Hover your mouse over the warning, and you will get a tooltip explaining what the problem might be.<br />
<br />
Save the edited file. (Don't worry that it is broken, we'll clean up the mess later.) Notice that a red error marker is added to the file in the navigator, so you can see that there is a problem. Also, error markers are added to the course folder, and the whole project, so you could see there was an error even if the navigator tree was collapsed.<br />
<br />
You will probably find lots of warnings that the config.php file can't be found. In the navigator, find the file '''config-dist.php'''. Do '''Copy''' then '''Paste''' and choose to call the new file '''config.php'''. Edit this new config.php as normal. You should fine that most of the include file warnings have gone now.<br />
<br />
Notice also that there is another marker on each file icon. A little yellow cylinder on most files, but a white-on-brown star on the one you have edited. This is telling you the CVS status of each file. The brown stars are changes you have made but not checked in yet.<br />
<br />
===Outline===<br />
<br />
Over to the right is the Outline view. This shows a list of functions and classes defined in this file. By default, they are listed in the same order as in the file, but if you click on the '''az''' toolbar button, they are sorted into alphabetical order.<br />
<br />
Click on the function name '''add_course_module''' in the Outline. You will see that the editor scrolls to the definition of that function.<br />
<br />
===Code navigation===<br />
<br />
In that function, hover the mouse pointer over the function name '''insert_record'''. After a while, the documentation for that function will appear in a big tooltip.<br />
<br />
Hold down CTRL, move the mouse pointer over the function name '''insert_record''', then click. Eclipse should load '''dmllib.php''', and scroll you to where this function is defined.<br />
<br />
In the main Eclipse toolbar, there are forward and back arrows like in a web browser. Click back now to get back to '''course/lib.php'''.<br />
<br />
===Open resource===<br />
<br />
From the '''Navigate''' menu, choose '''Open Resource...'''. In the dialog that pops up, start typing a filename for instance type '''moodlel'''. In the box in the middle of the dialog, you will see it list all the files in the project whose names start that way. At the bottom is a box which lists the different folders that contain a file with that name. This can be a very quick way of opening files with fairly unique names like moodlelib.php, without having to click through the levels of the navigator tree. Of course, it is not so useful for an index.php file! Click OK now to open moodlelib.php. (It would actually work if you just did CTRL + Shift + R, moodlel, Enter.)<br />
<br />
===Multi-file search===<br />
<br />
Scroll down moodlelib a little bit, and double click on the name of the constant '''MOODLE_INTERNAL''' where it is defined, so that the text is selected. Then, from the '''Search''' menu, choose '''Search...'''. Notice that the '''Containing text''' box has already been filled in for you with the text you just selected. Of course you can just type text into this box without selecting it first. Notice that you can do regular expression searches, but leave that turned off for now. In the '''File name patterns''' box type '''*.css, *.html, *.inc, *.js, *.php, *.xml'''. (This is the most useful general setting for working on moodle. Eclipse will remember this setting, so you only have to enter it once.) Click '''Search'''.<br />
<br />
The search results will appear in a new view underneath the editor. That view has a toolbar with yellow up and down arrows. Click the down arrow a few times and it will take you to the first few matches in the code, opening the relevant files as necessary.<br />
<br />
===Synchronize view===<br />
<br />
I think this is my favorite feature. From the '''Window''' menu, select '''Show View -> Other...'''. In the dialog that pops up, select '''Team -> Synchronize''', then click '''OK'''.<br />
<br />
This opens the Synchronize view below the editor. The view has a toolbar. Click on the first toolbar button, which pops up the Synchronize wizard.<br />
<br />
On the first screen, there will probably only be one option: '''CVS'''. Make sure that is selected, then click '''Next >'''.<br />
<br />
Under '''Scope''', choose '''Workspace''', then click '''Finish'''.<br />
<br />
Wait while it talks to the CVS server. After a while, you will see that the Synchronize view lists course/lib.php, and something called '''.project.... That is, it is listing just the files you have edited, but not checked in yet.<br />
<br />
'''.project''' is something that belongs to Eclipse that we don't care about. So select it and bring up the context menu, and choose '''Add to .cvsignore...'''. In the dialog that pops up, choose the top option, then click '''OK'''. Then you will find the Synchronize view shows you a '''.cvsignore''' file that you aren't interested in, so add that to .cvsignore too!<br />
<br />
If you double-click on '''course/lib.php''' here, you will see that it opens the compare editor, which is a nice graphical display of the changes in this file.<br />
<br />
If you select a file or files here, then bring up the context menu, you will see the option to '''Commit...''' the changes. (But don't do that now!). This is the easiest way to commit things in Eclipse.<br />
<br />
However, our changes were rubbish, so we want to undo them. So open the context menu again, and choose '''Override and Update'''. This checks a clean copy of the file out of CVS, removing our changes.<br />
<br />
Note that the easiest way to do an ordinary CVS Update is to select the top-level project-folder in the Navigator view on the left, open the context menu, and choose '''Team -> Update'''.<br />
<br />
That's all the really important features. I sure you can learn everything else on your own. An you could always read the built in help!<br />
<br />
===Creating a patch===<br />
<br />
In the synchronise view, right click on an item (file or folder) and choose '''Create Patch...'''. Or in the navigator, right click on an item and choose '''Team -> Create Patch...'''.<br />
<br />
This brings up a two-page wizard. On the first page you can select where you want the patch made. For small patches it can be useful to create them on the clipboard, but normally you will want to save them in a file.<br />
<br />
On the second page, you can set some options, but normally you don't need to change the defaults which are '''Unified''' diff format, and Patch root set to '''Workspace'''. Well, sometimes it is helpful to change the second one to '''Project''' but it is not important.<br />
<br />
There is a corresponding apply patch wizard that you can use to apply a patch to a project.<br />
<br />
===Switching to another branch or version===<br />
<br />
Suppose you have been using a check-out of HEAD from CVS, and then as the 1.9 release approaches, the MOODLE_19_STABLE branch is created, and you want to start following that instead.<br />
# Right click on the moodle project in the navigator view, and select '''Team -> Switch to Another Branch or Version ...'''.<br />
# choose the second radio button: '''Select the tag from the following list'''.<br />
# If the branch you want is not in the '''Matching tags''' box, see [[Development:Setting_up_Eclipse#Resetting the branch information|Resetting the branch information]] below.<br />
# Select the branch you want and click '''Finish'''.<br />
<br />
==Troubleshooting==<br />
<br />
Some tips on how to solve common problems that may crop up.<br />
<br />
===Resetting the branch information===<br />
<br />
Every now and then, Eclipse may lose information on the branch tags it knows about. Hitting refresh tags may fix it, but if not, try the following:<br />
<br />
#Bring up the tag dialogue (example using "Team / Switch to Another Branch or Version").<br />
#Click on Configure tags ... (not Refresh tags).<br />
#Select config-dist.php in the top left box (if this is a Moodle checkout).<br />
#Click Add Checked tags.<br />
#Click OK.<br />
#Then you will have all tags.<br />
<br />
(thanks to Tim Hunt)<br />
<br />
This info saved my day to find all branches:<br />
1. Window->Show View->Other. Select CVS->CVS Repositories.<br />
2. Context Menu->New->Repository Location...<br />
3. Fill in the location information identifying your repository and click Finish.<br />
4. Expand the newly-created repository location.<br />
5. Add the branch:<br />
1. right click on it and expand configure branches and versions<br />
2. Expand HEAD and select the project moodle.<br />
3. Context Menu->Configure Branches and Versions...<br />
4. In the "Browse files for tags" table, select one or more files <br />
that contain tags you would like to see (for example scroll down <br />
to find config.php).<br />
5. On the right the existing tags will appear.<br />
6. select the tags: for example MOODLE_15_STABLE<br />
7. Click "Add Selected Tags".<br />
8. Click "OK".<br />
6. locate branches, MOODLE_19_STABLE, moodle MOODLE_19_STABLE.<br />
7. Context Menu->Check Out As Project.<br />
("stolen" from Joan Codina Filba <br />
General developer forum -> Moodle floating "block"/toolbar released -> Re: Moodle floating "block--PATCH FOR GRADES & ASIGNMENT --PROBLEM)<br />
<br />
===Error loading php files after Ubuntu 7.04 Install===<br />
<br />
A java issue with Ubuntu 7.04 may cause an error when you attempt to load php pages. Refer to:<br />
http://www.plog4u.org/index.php/Using_PHPEclipse_:_Installation_:_Installing_PHPEclipse for details about how to fix this in Ubuntu 7.04.<br />
<br />
After upgrading from Ubuntu 7.04 to 7.10, I had to go in and re-edit the /etc/eclipse/java_home file in order to get the CVS functions to work and be able to open PHP files. When I tried to do a CVS update I initially received an error about org.eclipse.team.internal.ccvs.ui.wizards.CheckoutWizard). Everything seemed to work again after reapplying the fix for the aforementioned 7.04 java issue.<br />
<br />
==Related Links==<br />
<br />
There is an excellent series of articles published by IBM on using Eclipse for Drupal developement here : [http://www-128.ibm.com/developerworks/ibm/osource/index.html Using open source software to design, develop, and deploy a collaborative Web site Tools and techniques for getting relatively complicated Web sites up and running quickly].<br />
<br />
[[Category:Developer|Setting up Eclipse]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_5000_plus&diff=37379Installations 5000 plus2008-06-11T05:25:18Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
This page has descriptions and links by country to Moodle sites with between 5,000 and 10,000 users.<br />
<br />
==Belgium==<br />
<br />
* KSGWL, Wetteren, Oost-Vlaanderen, 5,000+ 100 courses over 10 moodle installations. Moodle runs on a single server, dual 240 2gig RAM. We do our own hosting at school. Currently we have 2400 active users.<br />
<br />
==Finland==<br />
<br />
* Lahti University of Applied Sciences or Lahden ammattikorkeakoulu is located at Lahti, Finland. We have about 5,400 students, and a Moodle installation called [http://reppu.lamk.fi Reppu] (Finnish word for "backpack").<br />
<br />
==India==<br />
<br />
* [http://www.amieindia.net AMIE India] is a website for [http://www.amieindia.net AMIE] students currently (as of July 2007) having 239 courses, 7571 users.<br />
<br />
==United States==<br />
<br />
* Luther College, Decorah, IA, USA 6,000+ 300 courses this term (FALL-2005) Using Moodle on single-server for 1-1/2 years. We just discovered we only had 512 MB RAM installed, never even suspected because performance never suffered.<br />
<br />
* [http://www.pennmanor.net Penn Manor School District], Lancaster PA, USA Approximately 5000 staff and student accounts across 400+ courses. Moodle has been in use since Spring 2003 and is utilized as a virtual classroom platform for students/teachers in kindergarten through grade 12. LAMP platform on a single Intel server.<br />
<br />
[[Category:Administrator]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_5000_plus&diff=37377Installations 5000 plus2008-06-11T05:24:50Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
This page has descriptions and links by country to Moodle sites with between 5,000 and 10,000 users.<br />
<br />
==Belgium==<br />
<br />
* KSGWL, Wetteren, Oost-Vlaanderen, 5,000+ 100 courses over 10 moodle installations. Moodle runs on a single server, dual 240 2gig RAM. We do our own hosting at school. Currently we have 2400 active users.<br />
<br />
==Finland==<br />
<br />
* Lahti University of Applied Sciences or Lahden ammattikorkeakoulu is located at Lahti, Finland. We have about 5,400 students, and a Moodle installation called [http://reppu.lamk.fi Reppu] (Finnish word for "backpack").<br />
<br />
==India==<br />
<br />
* [http://www.amieindia.net AMIE India] is a website for [http://www.amieindia.net AMIE] students currently (as of July 2007) having 239 courses, 7571 users.<br />
<br />
==USA==<br />
<br />
* Luther College, Decorah, IA, USA 6,000+ 300 courses this term (FALL-2005) Using Moodle on single-server for 1-1/2 years. We just discovered we only had 512 MB RAM installed, never even suspected because performance never suffered.<br />
<br />
* [http://www.pennmanor.net Penn Manor School District], Lancaster PA, USA Approximately 5000 staff and student accounts across 400+ courses. Moodle has been in use since Spring 2003 and is utilized as a virtual classroom platform for students/teachers in kindergarten through grade 12. LAMP platform on a single Intel server.<br />
<br />
[[Category:Administrator]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_30000_plus&diff=37376Installations 30000 plus2008-06-11T05:24:23Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
<br />
==Brazil==<br />
<br />
* Universidade de Brasília, http://aprender.unb.br, 34,587 users (12/20/2007)<br />
<br />
==United Kingdom==<br />
<br />
* The UK's [http://www.open.ac.uk/ Open University], a world leading institution and innovator in distance learning based in Milton Keynes, Buckinghamshire, England is well on the way to creating the world's largest Moodle installation in a £5 Million project. It is expected to host nearly 200,000 students. [http://www3.open.ac.uk/media/fullstory.aspx?id=7354 OU's News item]<br />
<br />
==United States==<br />
<br />
* San Francisco State University (SFSU), http://www.sfsu.edu, 89,543 users (02/07/2008). Among these 89K users, about 35,430 users are considered as currently active.</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_30000_plus&diff=37375Installations 30000 plus2008-06-11T05:23:49Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
<br />
==Brazil==<br />
<br />
* Universidade de Brasília, http://aprender.unb.br, 34,587 users (12/20/2007)<br />
<br />
==United Kingdom==<br />
<br />
* The UK's [http://www.open.ac.uk/ Open University], a world leading institution and innovator in distance learning based in Milton Keynes, Buckinghamshire, England is well on the way to creating the world's largest Moodle installation in a £5 Million project. It is expected to host nearly 200,000 students. [http://www3.open.ac.uk/media/fullstory.aspx?id=7354 OU's News item]<br />
<br />
==United States==<br />
<br />
* San Francisco State University (SFSU), http://www.sfsu.edu, 89,543 users (02/07/2008)<br />
Among these 89K users, about 35,430 users are considered as currently active.</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_10000_plus&diff=37374Installations 10000 plus2008-06-11T05:23:00Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
<br />
Please add your school info here, if you have a Moodle installation catering (or expecting to cater) for 10,000 or more users.<br />
<br />
==Brazil==<br />
<br />
* [http://www.escolatecnica.ufrgs.br Escola Técnica da Universidade Federal do Rio Grande do Sul] - Professional school in Brazil, with 1,200 students. Adopted Moodle in 2004 and has been using it since then.<br />
<br />
==Canada==<br />
<br />
* [http://www.athabascau.ca/ Athabasca University] - Canada's leading distance-education and online university: Canada's Open University, serving about 30,000 students per year. Athabasca has decided to adopt Moodle as a single platform instead of WebCT Vista (i.e. the top of the line version). You can read their [http://www.athabascau.ca/media/index.php?id=132 press release] for more info.<br />
<br />
* [http://moodle.mala.bc.ca/ Malaspina University-College] - Malaspina U-C is located on Vancouver Island in British Columbia, Canada. MUC was established in 1969, and has over 10,000 full-time Canadian students, plus 1,000 international students from more than 50 countries. MUC offers graduate and undergraduate degrees, diplomas and certificates, and a 5-level English Language program. MUC offers classroom-student support through Moodle, as well as a range of fully online courses through [http://pr.malaonline.ca/ Malaspina Continuing Education]. MUC switched from WebCT to Moodle in 2006.<br />
<br />
==China==<br />
<br />
* [http://english.bit.edu.cn/ Beijing Institute of Technology]<br />
<br />
==France==<br />
<br />
* [http://cursus.uhb.fr/ Université de Rennes 2 - Haute Bretagne] - 20,000 to 30,000 users in 800 courses<br />
** 5,000 different users connected every month<br />
** 200 teachers actually involved<br />
** integration with LDAP and Esup-Portail (based on uPortal) ; <br />
** authentication via CAS<br />
<br />
* [http://foad.univ-tlse1.fr/ Université Toulouse 1 - Sciences Sociales] - 18,000 users in 360 courses<br />
** authentication via LDAP (CAS planned for september, when updating from 1.6.x to 1.8.x)<br />
<br />
==Germany==<br />
<br />
* [http://www.isis.tu-berlin.de/ Technische Universität Berlin] - 10,400 Users in 402 courses (updated: 07.June.2007)<br />
** After a test period, the Information System for Instructors and Students (ISIS) was launched in september 2006. <br />
<br />
==India==<br />
* [http://www.amieindia.net AMIE India] is a website for [http://www.amieindia.net AMIE] students currently (as of September 2007) having 239 courses, 11246 users.<br />
<br />
==Ireland==<br />
<br />
* [http://www.dcu.ie Dublin City University] 18,000 users in 3,600 courses.<br />
<br />
==Italy==<br />
<br />
* [http://www.aulaweb.unige.it/ AulaWeb - University of Genoa] AulaWeb is an university-wide installation of Moodle, organized in virtual instances, one for each laurea degree. In March 2007, it hosts more than 78 instances used by 10.500 students.<br />
<br />
* [http://elearning.uniroma1.it/ CITICoRD - University of Rome La Sapienza] CITICoRD hosts more than 330 courses for about 20.100 students from about 20 faculties, ranging from enginering scientific courses to literature and medicine.<br />
<br />
==New Zealand==<br />
<br />
*[http://campus.openpolytechnic.ac.nz/ The Open Polytechnic of New Zealand] - 35,000+ students, 6,500+ courses, single sign-on for library services using Ezy Proxy, single sign-on for webmail, using SquirrelMail, uses LDAP for interface with Sears Student Management System. Comments by [https://eduforge.org/wiki/wiki/nzvle/wiki?pagename=Comments%20by%20Ken%20Udas%2C%20Director%20of%20eLearning%20at%20the%20Open%20Polytechnic Ken Udas, Director of eLearning at the Open Polytechnic]<br />
<br />
==Jamaica==<br />
*[http://ourvle.mona.uwi.edu The University of the West Indies] - 23,000+ users in 1600+ courses<br />
<br />
== Portugal ==<br />
<br />
*[http://moodle.fct.unl.pt Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa] - 5000+ users in 400+ pages.<br />
<br />
== Spain ==<br />
<br />
*[http://aulavirtual.uji.es/ Universitat Jaume I] - 13,000 users in 600 courses.<br />
<br />
*[http://www.upc.edu La Universitat Politecnica de Cataluña] on september 2005 started a pilot Moodle installation with 3.000 Students. On september 2006 the migration from the old campus to Moodle will be complete with more than 30.00 students [http://atenea.upc.edu El campus Atenea 4] runs Moodle 1.4.5 y an will be updated to Moodle 1.5.3 in september 2006. [http://www.upc.edu UPC] has developed several applicatons adn bridges between its own informacion systems.<br />
** Integration with the academic management informatio system "Prisma". <br />
** [http://appserv.lsi.upc.es/palangana/moodle/course/view.php?id=18 Internalmail] (developed also in UPC) is used for as email internal system.<br />
** Moodle integration with [http://bibliotecnica.upc.edu the upc library system].<br />
** Adaptation of Moodle grades to spanish university grading system.<br />
** And other stuff<br />
<br />
*[http://www.urv.cat/ Universitat Rovira i Virgili] using Moodle for three academic years. At present version 1.5.4+ to be updated to 1.6.4+ in short. In march 2007, 22701 users registered and 3500 courses created aprox.<br />
** Integration with the academic management information system<br />
** Integration with the corporative LDAP user’s directory<br />
** Average of 504 courses used regularly (logs at least once a week)<br />
** Average of 3200 students login at least once a day<br />
** Average of 7200 students login at least once a week<br />
** 10500 users (teachers and students) accessed at least once during the last month (data from 26th march 2007)<br />
<br />
*[http://www.ulpgc.es/index.php?pagina=campusvirtual&ver=inicio Universidad de Las Palmas de Gran Canaria (ULPGC)] - 24.000 users in aprox. 1800 courses. We started with Moodle 1.4 four years ago as a test pilot project for a small number of courses. Now offered as a basic service for all courses at ULPGC: 55 official EU titles and 5 more offered ONLY through Web. <br />
** We are using version 1.6.3 with LDAP authentification<br />
** Custom modules: ULPGCAssignment and ULPGCDialogUe, heavily modified Appointment/Scheduler<br />
** Custom groupings/scopes for small team activities (e.g. group assignment)<br />
** Regular-intense usage ranks by 60% of courses/students.<br />
<br />
*[http://campusvirtual.ub.edu/ Universitat de Barcelona] - 60.000 users in 7.300 courses. Started in September 2006 as a project, UB Moodle site will be open for all next September.<br />
<br />
*[http://campuvirtual.unex.es Universidad de Extremadura] - 15000 users in aprox. 700 courses.<br />
<br />
==United Kingdom==<br />
<br />
*[http://www.open.ac.uk/ The Open University (OU)] - the United Kingdom's only university dedicated to distance learning. They have around 150,000 undergraduate and more than 30,000 postgraduate students. They are in the middle on a two-year programme to build a VLE based on Moodle. In November 2007, the OU's Moodle database contains over 400,000 users and 3,000 courses.<br />
<br />
:"Now, The Open University’s Learning and Teaching Office has started a new programme worth nearly £5 million to build a comprehensive online student learning environment for the 21st century. <br />
<br />
:The development, which will first appear in May of 2006, and be fully operational for February 2007 courses, will see the largest use of Moodle in the world. Moodle is a free, Open Source software package course management system used by educators to create effective online learning communities.<br />
<br />
:Currently Open University students use a variety of software in a network to access their course work, interact with tutors and other students, use the library, submit assignments and handle administrative paperwork. The new development incorporating Moodle will ensure the network is much more user-friendly and uniform." Source: [http://www3.open.ac.uk/events/7/2005118_40887_nr.doc OU press release] (.doc format).<br />
<br />
*[http://openlearn.open.ac.uk/ OpenLearn] The Open University's open content initiative. Website development began in May 2006 and the site was launched in October 2006, supported by a grant from The William and Flora Hewlett Foundation. By April 2008, 5,400 learning hours of content will be available online. Currenly (early 2007) over 10,000 unique users.<br />
<br />
*[http://www.gla.ac.uk/ The University of Glasgow] - A long-established (founded 1451) and high-profile research university in the UK, with 20,000 students (16,000 undergrad, 4,000 postgrad), 6,000 staff, 20,000 unique users of Moodle (as of Jan 2008). Uses LDAP for integration with Novell and a custom MIS system for user authentication. Their site is organised on a one Moodle site per faculty basis to facilitate both appropriate themeing and to simplify balancing across servers.<br />
<br />
==United States==<br />
*[http://moodle.cpcc.edu Central Piedmont Community College (CPCC) ] uses moodle for both curriculum and Corporate and Continuing Education. For curriculum it runs in parallel to Blackboard as faculty migrate to moodle over time. There are currently no plans to go moodle only, although many administrators favor this option. The server has 30,000 or so users on it, but the actual number of active users varies widely. It is used for both hybrid and full-online classes. Corporate and Continuing Education runs its own branded instance and uses only moodle for distance education. We have about 80,000 students total, covering the range from GED, adult-ed, curriculum, and other areas serviced by 7 campuses in and around Charlotte, North Carolina. <br />
<br />
<br />
*[http://ilearn.sfsu.edu San Francisco State University (SFSU) ] uses moodle for more than three years now. We use moodle for our main campus and the College of Extended Learning (CEL). For curriculum, moodle used to run in parallel with Blackboard as faculty migrate to moodle over time (SFSU officially phased out Blackboard, as of 6/30/2007). The servers have total of 89K users (as of 09/05/2007), among these 89K users, 28K are considered as currently active. As for courses, we have total of 57K courses sitting on our database, and among them, around 53K are considered as active. We also have integrated Moodle with our SIMS/R system (see http://www.sfsu.edu/sims/overview.htm). We also have courses that have more than 1,300+ students in one course with lots of quizzes (20+) and quiz attempts. The student population in SFSU covers the range from undergraduate, graduate, and first professional students.<br />
<br />
==Taiwan==<br />
{{Template:Large Installations}}<br />
[http://www.thu.edu.tw/english/enindex.htm Tunghai University]<br />
*More then 17,000 registed Users<br />
*16,000 users login in one day( Max. )<br />
*3,000 courses per semester<br />
*integration with novell ichan for single sign on<br />
*integration with school support system<br />
<br />
our moodle web site: [http://elearning.thu.edu.tw]<br />
<br />
[[Category:Administrator]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Template:Large_Installations&diff=37373Template:Large Installations2008-06-11T05:22:18Z<p>SamuliK: </p>
<hr />
<div><div class="sideblock right" style="width: 12em; background: #F8EABA"><br />
<div class="header"> Larger Installations</div><br />
<div class="content"><br />
* [[Installations 1000 plus |1,000+ users]]<br />
* [[Installations 5000 plus|5,000+ users]]<br />
* [[Installations 10000 plus|10,000+ users]]<br />
* [[Installations 30000 plus|30,000+ users]]<br />
</div><br />
</div></div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_5000_plus&diff=37372Installations 5000 plus2008-06-11T05:20:53Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
This page has descriptions and links by country to Moodle sites with between 5,000 and 10,000 users.<br />
<br />
==Belgium==<br />
<br />
* KSGWL, Wetteren, Oost-Vlaanderen, 5,000+ 100 courses over 10 moodle installations. Moodle runs on a single server, dual 240 2gig RAM. We do our own hosting at school. Currently we have 2400 active users.<br />
<br />
==Finland==<br />
<br />
* Lahti University of Applied Sciences or Lahden ammattikorkeakoulu is located at Lahti, Finland. We have about 5,400 students, and a Moodle installation called [http://reppu.lamk.fi Reppu] (Finnish word for "backpack").<br />
<br />
==India==<br />
<br />
* [http://www.amieindia.net AMIE India] is a website for [http://www.amieindia.net AMIE] students currently (as of July 2007) having 239 courses, 7571 users.<br />
<br />
==Italy==<br />
<br />
==USA==<br />
<br />
* Luther College, Decorah, IA, USA 6,000+ 300 courses this term (FALL-2005) Using Moodle on single-server for 1-1/2 years. We just discovered we only had 512 MB RAM installed, never even suspected because performance never suffered.<br />
<br />
<br />
<br />
* [http://www.pennmanor.net Penn Manor School District], Lancaster PA, USA Approximately 5000 staff and student accounts across 400+ courses. Moodle has been in use since Spring 2003 and is utilized as a virtual classroom platform for students/teachers in kindergarten through grade 12. LAMP platform on a single Intel server.<br />
<br />
<br />
<br />
<br />
[[Category:Administrator]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Administrator_do%27s_and_don%27ts&diff=36753Administrator do's and don'ts2008-05-26T05:39:09Z<p>SamuliK: Added the stub template</p>
<hr />
<div>Don't use the files area in the main Moodle site course to restore course archives. You can destroy the front page very easily. You will be much better off to set up a special course just for that purpose!<br />
<br />
[[Category:Administrator]]<br />
<br />
{{stub}}</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Can_not_log_in&diff=35387Can not log in2008-04-29T12:55:02Z<p>SamuliK: </p>
<hr />
<div>If you are having problems logging into a Moodle site then you should check a couple of things.<br />
<br />
*Have you typed the Username and Password in correctly, exactly as it was given to you?<br />
**Example: your name is Chris Smithe, but the username you were given is <br />
***csmith, not<br />
***csmithe <br />
*Is the Caps-Lock key on your keyboard ON? <br />
*Remember that the password is usually case sensitive.<br />
**Moodle is different than <br />
**moodle or <br />
**mOOdlE.<br />
<br />
*Has someone with authority issued you a Username and Password?<br />
<br />
*Are cookies turned on in your browser?<br />
<br />
*If you are still having problems you may be able to follow the 'lost password' link in the log on block of the 'send me details via email' button if you are at the login page.<br />
==See also==<br />
*[[Administration_FAQ#I_have_forgotten_the_admin_password | Administration FAQ - Forgotten the admin password]]<br />
*[[Log in]]<br />
[[ru:Проблемы с авторизацией]]<br />
[[zh:不能登录]]<br />
[[Category:Teacher]]<br />
[[Category:Student]]<br />
[[Category:Administrator]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Building_Quiz&diff=33695Building Quiz2008-03-17T10:39:39Z<p>SamuliK: </p>
<hr />
<div>{{Quizzes}}<br />
After a teacher has created a quiz activity, they may click on the edit tab of the quiz. The way this tab looks, depends if a student has taken the quiz or if the teacher is still allowed to modify the quiz. There is one view for a quiz which has not been taken (compiling view) and the other for one where students has taken the quiz. Other pages describe how to [[Quiz preview|preview]] an existing quiz or [[Question bank|editing questions]]. <br />
<br />
<br />
==Compiling a new quiz==<br />
===Overall process===<br />
After creating a quiz activity module, the teacher will be shown a quiz compiling screen. Here the teacher can select questions to move in and out of a quiz. Quiz questions are usually stored in categories. It is also possible to create new questions from this screen and these questions will be added to the displayed category.<br />
<br />
and categorize your quiz questions and then add them to the quiz. What you will see on this screen depends on whether students have already started attempts at the quiz. <br />
<br />
*On the left side of the screen (or in the middle if the quiz has already been attempted) you’ll see a block where the questions you’ve added to the current quiz are displayed. If this is a new quiz you will not have any questions there and Moodle tells you this.<br />
*On the right side of the screen (if the quiz has not yet been attempted), you’ll see a [[Question categories|Categories]] section above the question editing block. This is where you can add new questions, edit existing questions, or move questions between categories. This is explained on the page [[Question bank]].<br />
<br />
===Adding questions to a quiz===<br />
Once you’ve created your questions, you’ll need to add them to the quiz. There are many types in the [[Question bank]] that you can use. Alternatively, you may choose to [[Import questions|import questions]]. <br />
<br />
First use the 'Category' menu to select the category containing the questions you want to add (item 3 in the diagram below).<br />
<br />
The chevrons (<< icons) to the left of the questions are used to add individual questions to the quiz. You can also select several questions using the checkboxes on the left of the question list and then click the "Add to quiz" button at the bottom of the list to add then all at once. If you want to add all the displayed questions then use the 'Select all' link.<br />
[[Image:Quiz.gif|frame|left|This shows four methods of adding questions including adding random questions dealt with in more detail below (Moodle 1.8)]]<br style="clear:both;"><br />
<br />
Once you’ve added a question to the quiz, it appears on the left side of the screen in the quiz question list. The question is still selectable on the right, but you can only add it to the quiz once. If you select the question in the category list again and add it to the quiz, nothing will happen.<br />
{{Moodle 1.8}}<br />
If you have created a lot of questions, you may want to sort the question list by type and name or by age. You can also choose to display the question text below each question name by checking the box "Show question text in the question list" above the question list (Moodle 1.8 onwards).<br />
<br />
Once you’ve added the questions to the quiz, you can change the order of the questions by clicking the arrow buttons on the left side of the list of quiz questions.<br />
<br />
You will also need to set the grade for each question. You can set the number of points for each question in the Grade column. This allows you to set the relative weight of each question in the quiz. You may want to make certain questions or question types worth more than others. You should also set the 'Maximum grade' for the whole quiz. This does not have to be equal to the sum of the grades for the individual questions. The grades achieved by the students will be rescaled to be out of this maximum grade. After adjusting these grade settings you should click on the 'Save grades' button.<br />
<br />
===Adding random questions===<br />
<br />
A random question will be replaced, when the student attempts the quiz, with a randomly-chosen question from the currently selected category. A different random question will be selected for each attempt.<br />
<br />
This means that different students are likely to get a different selection of questions when they attempt this quiz. When a quiz allows multiple attempts for each student then each attempt will also contain a new selection of questions.<br />
<br />
The same question will never appear twice in a quiz. If you include several random questions then different questions will always be chosen for each of them. If you mix random questions with non-random questions then the random questions will be chosen so that they do not duplicate one of the non-random questions.<br />
<br />
The grade for the randomly chosen question will be rescaled so that the maximum grade is what you have chosen as the grade for the random question.<br />
<br />
To add random questions, use the drop-down menu at the bottom of the Question Bank on the right. Select the number of random questions you wish to add, and click 'Add'.<br />
<br />
[[Image:Random.gif|frame|left|note that the menu for adding random questions is found below the questions on the right-hand side of the screen]]<br style="clear:both;"><br />
<br />
===Previewing questions===<br />
Clicking on the magnifying glass next to a question in the Question Bank will open a preview window in which you can test the question.<br />
<br />
When you’re done, you will probably also want to preview your entire quiz by clicking on the '''Preview''' tab. This will bring you to the [[mod/quiz/attempt|Quiz attempt]] page, but in teacher preview mode.<br />
<br />
==After quiz has been attempted==<br />
If the quiz has already been attempted you will see a notice saying that you cannot add or remove questions. You can, however, delete the quiz attempts (you access them clicking ''View x quiz attempts (y Students)'', where 'x' stands for the number of attempts by 'y' students) and will then again be able to add or delete questions as explained above. The reason you can not do this when there are already attempts is that this would lead to confusion, both on the part of the student and on the part of Moodle itself which would not be able to interpret the student responses that have already been saved.<br />
<br />
You can still edit questions and you can change the grade for questions. So instead of deleting a bad question you can edit it to explain the situation to the student and then you can set the grade for the question to zero. After you make such changes you should regrade the quiz by clicking on the '''Results''' tab and then the '''Regrade''' tab.<br />
<br />
==See also==<br />
*[[Question bank]]<br />
*[[Question categories]]<br />
*[[Import questions]]<br />
*[[Export questions]]<br />
*[http://www.youtube.com/watch?v=rFnoNNrTx3c How to create a quiz video]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Coding&diff=33678Development talk:Coding2008-03-17T05:18:05Z<p>SamuliK: /* Using clone() */</p>
<hr />
<div>== Single quotes vs. double quotes: no noticable speed differences... ==<br />
<br />
As PHP 4.3.0 is now the minimum version, the speed issue of single quotes vs. double quotes is negligible. See http://phplens.com/lens/php-book/optimizing-debugging-php.php, under "Useless Optimizations". There might be other reasons, however. I like to use "". ' is more convinient if a string has a lot of "s it it, like 'I have no "issues" with the "quotations"'. --[[User:Samuli Karevaara|Samuli Karevaara]] 04:26, 10 October 2006 (CDT)<br />
: I see that Martin changed the rationale, so single quotes should be used with strings that have parsed variables in them. However, Tim changed the example back to use double quotes :-) --[[User:Samuli Karevaara|Samuli Karevaara]] 00:13, 17 March 2008 (CDT)<br />
<br />
== Using clone() ==<br />
<br />
Unless I'm mistaken, there are some cases where we should use Moodle's full_clone() method. Maybe someone could clarify this...<br />
: Probably this bit under the item 9: "If the thing you want to copy is not an object, but may contain objects (eg an array of objects) then use fullclone() instead." --[[User:Samuli Karevaara|Samuli Karevaara]] 00:18, 17 March 2008 (CDT)<br />
<br />
== Single vs Double quotes ==<br />
<br />
According to the PHP.net manual page referenced, the memory usage issue for strings is not with single v double quotes, but with parsed variables in strings vs concatenated variables in strings.<br />
<br />
As a PHP developer, I find it is overall much better to use double quotes for strings if for no other reason than that you can stick newlines (\n) in. Putting newlines in makes HTML debugging MUCH easier.<br />
<br />
Just my $0.02.<br />
<br />
Thanks!</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Coding&diff=33677Development talk:Coding2008-03-17T05:13:41Z<p>SamuliK: /* Single quotes vs. double quotes: no noticable speed differences... */</p>
<hr />
<div>== Single quotes vs. double quotes: no noticable speed differences... ==<br />
<br />
As PHP 4.3.0 is now the minimum version, the speed issue of single quotes vs. double quotes is negligible. See http://phplens.com/lens/php-book/optimizing-debugging-php.php, under "Useless Optimizations". There might be other reasons, however. I like to use "". ' is more convinient if a string has a lot of "s it it, like 'I have no "issues" with the "quotations"'. --[[User:Samuli Karevaara|Samuli Karevaara]] 04:26, 10 October 2006 (CDT)<br />
: I see that Martin changed the rationale, so single quotes should be used with strings that have parsed variables in them. However, Tim changed the example back to use double quotes :-) --[[User:Samuli Karevaara|Samuli Karevaara]] 00:13, 17 March 2008 (CDT)<br />
<br />
== Using clone() ==<br />
<br />
Unless I'm mistaken, there are some cases where we should use Moodle's full_clone() method. Maybe someone could clarify this...<br />
<br />
== Single vs Double quotes ==<br />
<br />
According to the PHP.net manual page referenced, the memory usage issue for strings is not with single v double quotes, but with parsed variables in strings vs concatenated variables in strings.<br />
<br />
As a PHP developer, I find it is overall much better to use double quotes for strings if for no other reason than that you can stick newlines (\n) in. Putting newlines in makes HTML debugging MUCH easier.<br />
<br />
Just my $0.02.<br />
<br />
Thanks!</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Wiki_2.0&diff=31755Development:Wiki 2.02008-01-31T10:46:45Z<p>SamuliK: /* Wiki Standard */</p>
<hr />
<div>The Moodle wiki(s) enables participants to work together on web pages to add, expand and change the content. This page can serve to provide information about different Wikis that may be used with Moodle. <br />
<br />
= Wiki Standard =<br />
Link to the [[Wiki]] MoodleDoc page<br />
This is the standard Wiki which is part of 1.5 . It was developed from a version of Erfurt wiki. A flavor of it is still being used in Moodle 1.8.<br />
<br />
See the MoodleDocs [[Wiki module]] or [http://moodle.org/help.php?module=wiki&file=howtowiki.html "How to wiki" page for more information].<br />
<br />
Initially built by Mike Churchward & Michael Schneider<br />
<br />
= Dfwiki =<br />
This is an addin wiki for Moodle.<br />
[[Dfwiki]] is the MoodleDoc page.<br />
'''DFWiki''' is an alternative [[wiki]] module to the current (1.5.3) Moodle [[Wiki module]].<br />
<br />
Dfwiki for Moodle 1.5.3 can be found [http://appserv.lsi.upc.es/palangana/moodle/course/view.php?id=15 in dfwiki home page], and in the Moodle [[CVS]]. The [http://appserv.lsi.upc.es/palangana/moodle/course/view.php?id=15 dfwiki english home page is here].<br />
<br />
Team leader is Marc Alier (Ludo).<br />
<br />
= Erfurt wiki =<br />
Named for the developer's hometown in Germany, it was the basis for the standard wiki included with Moodle.<br />
<br />
= New wiki =<br />
Currently is this wiki available as a plug in for 1.6.x 1.7.x and 1.8.x. "We ([[Dfwiki_module#Dfwikiteam|Dfwiki team]]) hope it will be the standard wiki in Moodle 1.8", says Team leader Marc Alier (ludo). He was mistaken for two releases.. According to the Moodle [[Roadmap]] NWiki is definitevelly into Moodle 2.0<br />
<br />
The NewWiki16 plugin has more MediaWiki(MoodleDocs)features. For example, the characters that create, the automatic headers (<nowiki>= = or == ==</nowiki>), automatic numbers (<nowiki># or ##</nowiki>) and bullets (<nowiki>* or **</nowiki>) work. It also has a page discussion tab and provides a page outline based on headers at the top. There are two HTML edit tool bars available. The 1.6.x version does have a site map on a "navigation" tab, but not the standard pages found on the Choose Wiki links pulldown. <br />
<br />
==Tiddlywiki integration==<br />
New wiki can interoperate with the Ajax based portable [http://tiddlywiki.com tidlywiki].<br />
See [[Tiddlywiki integration]]<br />
<br />
= MediaWiki =<br />
This is the "big" wiki. Will Taylor says "I have MediaWiki integrated now with Moodle versions 1.5.3 and 1.6, very easy to set up. Users need to log in separately to MediaWiki to edit, but they are authenticated off the Moodle database, so use the same username & password without needing to create a separate account on MediaWiki. Using the MediaWiki permissions system, I have editing privileges reserved for registered, logged-in users, and read privileges open to the world - but you could configure this in many ways if you wish. Check out the various projects created in MediaWiki (WikiPedia, Wiktionary, &c.) to see the potential of this platform." <br />
<br />
MediaWiki should be used as a '''site-specific''' wiki. The standard Moodle wiki, or Dfwiki should be used as course-specific wiki. <br />
= Table of Versions =<br />
{| border="0" cellpadding="4" cellspacing ="0" rules="all"<br />
|+ '''Wikis in Moodle'''<br />
! -Version Name- <br />
! Wiki version<br />
! Moodle ver<br />
! Status<br />
! Download Place<br />
! Docs<br />
! Discussion Place<br />
! Feature1<br />
|-----<br />
| Std Wiki<br />
| <br />
| all<br />
|<br />
|[http://moodle.org/mod/data/view.php?d=13&rid=273 Modules]<br />
| [[Wiki]]<br />
| [http://moodle.org/mod/forum/view.php?f=366 Wiki forum]<br />
|<br />
|-----<br />
| Dfwiki<br />
|<br />
| 1.5.4<br />
|<br />
|[[http://moodle.org/mod/data/view.php?d=13&rid=115 CVS Page]]<br />
| [[Dfwiki]]<br />
|[http://moodle.org/mod/forum/view.php?f=366 Wiki forum]<br />
|<br />
|-----<br />
| Erfurt Wiki<br />
| <br />
| 1.6<br />
|<br />
|[http://erfurtwiki.sourceforge.net/ Sourceforge]<br />
| [http://erfurtwiki.sourceforge.net/README readme]<br />
|<br />
| <br />
|-----<br />
| New wiki<br />
| <br />
|1.7 and 1.8<br />
|Beta<br />
|[http://morfeo.upc.es/crom/course/view.php?id=4 DFwiki home]<br />
|[http://morfeo.upc.es/crom/course/view.php?id=4 DFwiki home]<br />
|[http://morfeo.upc.es/crom/course/view.php?id=4 DFwiki home]<br />
|[http://moodle.org/mod/forum/view.php?f=366 Wiki forum]<br />
|-----<br />
| MediaWiki<br />
| <br />
|NA<br />
|<br />
|[http://www.mediawiki.org/wiki/MediaWiki MediaWiki Home]<br />
|<br />
|<br />
|<br />
|}<br />
<br />
=See also=<br />
* [[Dfwiki]]<br />
* [[Wiki requirements|Specific wiki requirements]]<br />
* [[dfwiki requests]]<br />
* [[NWiki roadmap]]<br />
* [[Wiki comments |Wiki development comments]]<br />
*[[wikindx]] for developers<br />
<br />
* Using Moodle [http://moodle.org/mod/forum/view.php?f=366 Wiki module forum]<br />
<br />
[[Category:Developer|Wiki]]<br />
[[Category:Wiki]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installations_1000_plus&diff=27144Installations 1000 plus2007-09-22T04:54:59Z<p>SamuliK: </p>
<hr />
<div>{{Template:Large Installations}}<br />
<br />
==Australia==<br />
<br />
*Monte Sant' Angelo Mercy College - [http://montenet.monte.nsw.edu.au MonteNet] is used as our colleges student intranet and e-learning portal. Currently running 1.6dev with a few extra custom features thrown in.<br />
<br />
*Monte Sant' Angelo Mercy College - [http://compass.monte.nsw.edu.au Compass] takes moodle and uses it for a purpose that is a little outside the square. Compass is used as the staff intranet. Each course is refered to as a "Space" and is used by each departmentr to store meating minutes, agendas and teaching documentation. Communications tools such as forums allow to facilitate better teacher communication and the events are used to keep the teachers events online and targeted (e.g. year 9 teachers all know when excursions are on, all english teachers know when reports are due, etc).<br />
<br />
==Belgium==<br />
<br />
*[http://www.ritacollege.be Sint-Ritacollege] We are a school for 12-18 year old students. Currently our database contains about 1600 active users and 130 courses. Always running latest Moodle code since version 1.0.8.<br />
<br />
==Croatia (Hrvatska)==<br />
<br />
*Faculty of Philosophy in Zagreb - [http://omega.ffzg.hr Omega sustav ucenja na daljinu] is used as our faculty-wide e-learning system. Currently running 1.7 stable with more than 3400 users and 210+ courses.<br />
<br />
==Czech Republic==<br />
<br />
*Faculty of Arts, Masaryk University, Brno - [http://www.phil.muni.cz/elf/ ELF], 16,000+ users total, 4,000+ active users in Spring Term 2006, 600+ courses; using Moodle from April 2003.<br />
<br />
==Finland==<br />
<br />
*Tampere Polytechnic or Tampereen ammattikorkeakoulu ([http://www.tamk.fi www.tamk.fi]), is a around 5000 student college or "a university of applied sciences" located at Tampere, Finland. Our moodle installation hosts around 2500 active students.<br />
<br />
==India==<br />
* [http://www.doeaccmantra.com DOEACCMantra] is a website for [http://www.doeaccmantra.com DOEACC] students currently (as of July 2007) having 44 courses, 4928 users and 5965 posts.<br />
<br />
==Italy==<br />
<br />
* University of Rome "Roma Tre" - [http://ltaonline.learning.uniroma3.it/ Laboratorio di Tecnologie Audiovisive] hosts two faculties with more than 1600 students.<br />
<br />
==Japan==<br />
<br />
* Kyoto Sangyo University - [http://www3.kyoto-su.ac.jp/index-e.html] First university in Japan to completely host all courses in Moodle.<br />
<br />
* Sapporo Gakuin University - [http://elearning.sgu.ac.jp] About 25 active courses using Moodle. Over 1000 registered users. Now using LDAP, so all 5000 students can login with their standard school ID and password. <br />
<br />
==Netherlands==<br />
<br />
* We are a 5000 people school, one server, 9 locations and using Moodle for almost three years now: https://studiewijzerplus.nl Every schoolyear we start again with counting the number of users and the automatic counter (thanks Penny!) is now pointing at 3103<br />
<br />
==Norway==<br />
<br />
* ASP Hedmark - [http://pdl.asp-hedmark.no/ pdl.asp-hedmark.no] Region with 20 primary and lower-secondary schools have an installation with something above 2000 users. PDL=Platform for Digital Learning.<br />
<br />
== Russia ==<br />
*Moscow State Institute of International Relations (University) - distance education programme [http://www.globalcompetence.ru Management of Global Processes]<br />
<br />
==Spain==<br />
*[http://www.cicei.com CICEI] - Center of Innovation for the Information Society. We have a production [http://cursos.cicei.com Moodle server] having currently 1,042 users in 72 courses covering a wide range of applications (as of February 6, 2006).<br />
<br />
==Switzerland==<br />
<br />
*[http://moodle.fri-tic.ch/ Centre fri-tic] - Center for ICT Integration of Canton de Fribourg. Currently running 1 moodle for teachers and students from k-12 to High school, with more than 2000 users and about 130 courses. The [http://www.fri-tic.ch/ Centre fri-tic] is also hosting 9 other moodle installations for specific schools.<br />
<br />
==United Kingdom==<br />
<br />
* [http://moodle.altoncollege.ac.uk/ Alton College] - a Beacon sixth form college with over 2,500 active users.<br />
<br />
* [http://egglescliffe.org.uk/ Egglescliffe School and Sixth Form] - a specialist arts school with over 2,000 active moodlers and 345 courses whose usage was the basis of this [http://education.guardian.co.uk/elearning/story/0,,1583832,00.html Guardian article]<br />
<br />
* [http://vle.gloscol.ac.uk/ Gloucestershire College] - a general FE college in the south west, with nearly five thousand users and nearly eight hundred users, we have presented at many Moodle events in the UK. <br />
<br />
* [http://learn.gold.ac.uk Goldsmiths College, London] - over 2,500 active users. See also this [http://www.alt.ac.uk/altc2004/timetable/abstract.php?abstract_id=270 presentation at a 2004 conference].<br />
<br />
* [http://www.thanet.ac.uk/ Thanet College] - a "medium sized general FE college", using Moodle as documented in [http://ferl.becta.org.uk/display.cfm?resID=13423 this Ferl case study]<br />
<br />
* [http://www.westnotts.ac.uk West Nottingahmshire College] - an FE college in the East Midlands.<br />
<br />
* [http://www.lifeintheuk.org Prepare: Life in the United Kingdom Test] - a free website dedicated to Life in the UK Test.<br />
<br />
==United States of America==<br />
*[http://www.glyphdoctors.com Glyphdoctors] is a site with over 1200 registered users (as of Feb. 2006) on a shared server host, [http://www.opensourcehost.com Open Source Host]. It will offer online courses in Egyptology and Egyptian hieroglyphs to the general public. Currently, there is one free public course available and a course in Egyptian hieroglyphs under beta testing with a small number of students.<br />
<br />
*[http://moodle.mcm.edu/ McMurry University]has several Moodle instances, the first begun as a pilot project in June, 2005. McMurry is a small (1400 FTE) undergraduate-only institution affiliated with the United Methodist church. Currently the main instance supports 1700 users (650 active), some 60 instructors, and approximately 180 active courses.<br />
<br />
* [http://ahshornets.org Aiken High School]has over 2000 registered users in grades 9 - 12 (Feb. 2006).<br />
<br />
* [http://academies.culver.org/moodle The Culver Academies] has over 1000 registered users in grades 9 - 12. The school has been using Moodle in the classroom since the 2002-2003 school year. Administratively we have a Moodle "course" for faculty-only announcements and materials. <br />
<br />
* [http://online.warner.edu Warner Southern College] began using Moodle in early 2005 as an experiment to move from a simple webboard system into a full learning management system. The experiment went extremely well and a full transition to Moodle was accomplished in the fall term of 2005. Currently, Warner Southern College has one Moodle instance running with over 1200 registered users (500+ active students, 50+ instructors, 80+ courses and two system administrators) offering associate, bachelor and master of arts degree programs for both traditional site based and full online students. Warner Southern College is a small institution affiliated with the Church of God and accredited by the Southern Association of Colleges and Schools. <br />
<br />
[[Category:Administrator]]<br />
<br />
<br />
{{Template:Large Installations}}</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Output_functions&diff=21341Development:Output functions2007-03-14T12:20:53Z<p>SamuliK: </p>
<hr />
<div>This page tries to explain a bit how dynamic data should be sent from Moodle to the browser in an organised and standard way. Obviously it's possible to have your own output methods but, thinking that you are going to share your code (yep, this is an OpenSource project!) and in the collaborative way we try to build and maintain the system every day, it would be really better to follow the basic guidelines explained below.<br />
<br />
By using them you will be helping to have better, more secure and readable code. Spend some minutes trying to understand them, please!<br />
<br />
Of course, these functions can be discussed, modified and new functions can arrive if there are some good reasons for it. Just discuss it in the [http://moodle.org/mod/forum/view.php?id=55 General developer forum] at [http://moodle.org moodle.org].<br />
<br />
For each of the functions below we'll try to explain when they should be used, explaining the most important parameters supported and their meaning. Let's review them!<br />
<br />
=== p() and s() ===<br />
<br />
function s($var, $strip=false)<br />
function p($var, $strip=false)<br />
<br />
These functions share the same code so they will be explained together. The only difference is that s() returns the string while p() prints it directly.<br />
<br />
These functions should be used to:<br />
<br />
* print all the '''values of form fields''' like <nowiki><input></nowiki> or <nowiki><textarea></nowiki> tags.<br />
* to '''show plain (non html) text''' that has been introduced by the user (search string, quiz responses...).<br />
* in general, all the '''dynamic data, not being html''', that doesn't need to be cleaned nor processed by filters<br />
<br />
It is important not to use these functions for strings that contain html markup.<br />
<br />
The functions replace certain characters that would have special meaning in html ( <, >, ", ', and &) by html entities so that they are displayed as intended. Note that even though the value of form fields printed with p() will have these characters converted to html entities, the submitted values will contain the original characters again.<br />
<br />
The key parameter for this function is:<br />
<br />
* '''strip''': it decides if we want to strip slashes from the string or no. By default it's 'false' so no strip will be performed. We should set such parameter to 'true' only when data to be processed isn't coming from database but from http requests (forms, links...).<br />
<br />
=== format_text() ===<br />
<br />
function format_text($text, $format=FORMAT_MOODLE, $options=NULL, $courseid=NULL ) <br />
<br />
This function should be used to:<br />
<br />
* print '''any html/plain/markdown/moodle text''', needing any of the features below. Mainly used for long strings like posts, answers, glossary items...<br />
<br />
Note that this function is really '''heavy''' because it supports '''cleaning''' of dangerous contents, delegates processing to enabled '''filter'''s, supports different '''formats''' of text (HTML, PLAIN, MARKDOWN, MOODLE) and performs a lot of '''automatic conversions''' like adding smilies, build links. Also, it includes a strong '''cache mechanism''' (DB based) that will alleviate the server from a lot of work processing the same texts time and again.<br />
<br />
Some interesting parameters for this function are:<br />
<br />
* '''format''': To tell the function about how the data has been entered. It defaults to FORMAT_MOODLE that is a cool format to process plain text because it features automatic link conversion, smilies and good conversion to html output. Other formats are FORMAT_HTML, FORMAT_PLAIN, FORMAT_MARKDOWN. See [[Formatting options]].<br />
<br />
* '''options''': Here we can specify how we want the process to be performed. You only need to define them if they are different from the default value assumed. Main options are:<br />
**'''options->noclean''': To decide if we want to skip the clean of text, '''un-protecting us''' from attacks and other security flaws (defaults to false, so protection is enabled. You '''shouldn't set it to true never''' unless you are 200% sure that only controlled users can edit it (mainly admins). '''Never use it for general text places''' (posts...) or you will be, sooner or later, attacked! Note that this option is ignored for FORMAT_PLAIN, the text is never cleaned.<br />
**'''options->filter''': To decide if you want to allow filters to process the text (defaults to true). This is ignored by FORMAT_PLAIN for which filters are never applied.<br />
**'''options->smiley''': To decide if we want automatic conversion of smilies to images (defaults to true). This is ignored by FORMAT_PLAIN for which smileys are never converted.<br />
**'''options->para''': To decide if you want every paragraph automatically enclosed between html paragraph tags (<nowiki><p>...</p></nowiki>) (defaults to true). This option only applies to FORMAT_MOODLE.<br />
**'''options->newlines''': To decide if linefeeds in text should be converted to html newlines (<nowiki><br /></nowiki>) (defaults to true). This option only applies to FORMAT_MOODLE.<br />
* '''courseid''': This parameter should be passed always to help filters to know how they should work. This parameter will become less and less important Moodle was 100% of the current course using some session or global variable (it's one work in progress just now) but, for now, it's recommended to set it always in the function call.<br />
<br />
=== format_string() ===<br />
<br />
function format_string ($string, $striplinks = false, $courseid=NULL )<br />
<br />
This function should be used to:<br />
<br />
* print '''short strings (non html) that need filter processing''' (activity titles, post subjects, glossary concepts...).<br />
<br />
Please note that this function is basically one stripped version of the full format_text() function detailed above and '''it doesn't offer any of it options nor protections'''. It simply filters the strings and return the result, so we must ensure that text being processed has been properly cleaned at input time, using the proper xxx_param() functions.<br />
<br />
Some interesting parameters for this function are:<br />
<br />
* '''striplinks''': To decide if, after the text has been processed by filters, we must delete any link from the result test. Used when we want to show the text inside menus, page titles... (defaults to false).<br />
* '''courseid''': This parameter should be passed always to help filters to know how they should work. This parameter will become less and less important Moodle was 100% of the current course using some session or global variable (it's one work in progress just now) but, for now, it's recommended to set it always in the function call.<br />
<br />
=== print_textarea() ===<br />
<br />
function print_textarea($usehtmleditor, $rows, $cols, $width, <br />
$height, $name, $value=<nowiki>''</nowiki>, $courseid=0, $return=false)<br />
<br />
This function should be used to:<br />
<br />
* display <nowiki><textarea></nowiki> fields when we want to allow users (based in their preferences and browser capabilities) '''to use the visual HTML editor''' instead of one standard 'plain' area.<br />
<br />
Some interesting parameters for this function are:<br />
<br />
* '''usehtmleditor''': to decide if the HTML editor must be showed. The value of this parameter must be calculated by the can_use_html_editor() function.<br />
* '''rows, cols''': to be applied it the standard textarea is showed.<br />
* '''width, height''': to be applied if the HTML editor is used.<br />
* '''name''': the name of the field that will contain the text once the form was submitted.<br />
* '''value''': the initial value of the textarea.<br />
* '''courseid''': This parameter should be passed always to help the editor to know where it is work. This parameter will become less and less important Moodle was 100% of the current course using some session or global variable (it's one work in progress just now) but, for now, it's recommended to set it always in the function call.<br />
* '''return''': to decide if the generated html code must be returned to the caller (true) or printed directly (false). Defaults to false.<br />
<br />
[[Category:Developer]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Installing_Moodle&diff=20023Installing Moodle2007-02-07T08:53:16Z<p>SamuliK: /* Requirements */</p>
<hr />
<div>'''Firstly don't panic! :-)'''<br />
<br />
This guide explains how to install Moodle for the first time. For some of these steps it goes into a lot of detail to try and cover the majority of possible web server setups, so this page may look long and complicated. Don't panic, once you know how to do it you can install Moodle in minutes!<br />
<br />
If you have problems please read this page carefully - most common issues are answered in here. If you still have trouble, you can seek help from the Moodle community via [http://moodle.org/course/view.php?id=5 moodle.org Using Moodle].<br />
<br />
Another option is to contact a [http://moodle.com/hosting/ Moodle Partner providing Moodle hosting] who can completely maintain Moodle for you, so that you can ignore all this and get straight into educating!<br />
<br />
If you want to run Moodle on your own computer and this page looks a bit daunting, then please see our guides: [[Installing AMP |Installing Apache, MySQL and PHP(AMP)]] or [[Complete install packages| how to install one of Moodle's complete packages]]. They provide alternative instructions to install all this on most popular platforms.<br />
<br />
==Requirements==<br />
<br />
Moodle is primarily developed in Linux using [[Apache]], [[MySQL]] and [[PHP]] (also sometimes known as the LAMP platform), but is also regularly tested with Windows XP/2000/2003 (WAMP), Solaris 10 (Sparc and x64), Mac OS X and Netware 6 operating systems. Support for PostgreSQL, Oracle and Microsoft SQL Server is also available.<br />
<br />
The requirements for Moodle are as follows:<br />
<br />
* Hardware (unless you are using a hosted server). <br />
** Disk space: 160Mb free (min). You will require more free space to store your teaching materials.<br />
** Memory: 256Mb (min), 1Gb (recommended). The general rule of thumb is that Moodle can support 50 ''concurrent'' users for every 1Gb of RAM, but this will vary depending on your specific hardware and software combination. <br />
* Software<br />
** Web server software. Most people use [[Apache]], but Moodle should work fine under any web server that supports [[PHP]], such as [[IIS]] on Windows platforms. PHP does impose requirements on versions of web servers, however these are complex and the general advice is to use the newest version possible of your chosen web server. <br />
** PHP scripting language (version 4.1.0 or later). PHP 5 (version 5.1.0 or later) is supported as of Moodle 1.4. (Please note that there have been issues installing Moodle with [http://www.php-accelerator.co.uk PHP-Accelerator]). For Moodle version 1.6 or later, the minimum version of PHP is 4.3.0 (or 5.1.0). <br />
** A working database server: [[MySQL]] or [[PostgreSQL]] are completely supported and recommended for use with any version of Moodle. Support for Microsoft SQL Server and Oracle has been added in Moodle 1.7. MySQL is ''the'' choice for many people because it is very popular, but there are some [[Arguments in favour of PostgreSQL|arguments in favour of PostgreSQL]], especially if you are planning a large deployment. The minimum version of MySql required for Moodle 1.5 is 3.23. Moodle 1.6 or later requires MySQL 4.1.16 (4.1.12 if you use latin languages only). The minimum version of PostgreSQL is 7.4 and it is widely used with 8.0 and 8.1. Note that currently the MySQL setting "strict mode" should be OFF (set to "" or "MYSQL40") in the MySQL configuration file.<br />
* Additional PHP requirements<br />
** Safe mode needs to be OFF (check in your php.ini or Apache configuration file).<br />
** memory_limit to be at least 16M (32M is recommended for Moodle 1.7 or later).<br />
** The mbstring extension is required for multi-byte string handling.<br />
** session.save_handler needs to be set to files <br />
** The iconv extension is also recommended for Moodle 1.6 or later.<br />
** [http://www.boutell.com/gd/ GD library] and the [http://www.freetype.org/ FreeType 2] library on Linux/Unix boxes to be able to look at the dynamic graphs that the logs pages make.<br />
** The mysql extension is required if you are using the MySql database. Note that in some Linux distributions (notably Red Hat) this is an optional installation.<br />
** The pgsql extension is required if you are using the PostgreSQL database.<br />
** The zlib extension is required for zip/unzip functionality<br />
** Other PHP extensions may be required to support optional Moodle functionality, especially external authentication and/or enrolment (e.g. LDAP extension for LDAP authentication and the sockets extension for Chat server)<br />
<br />
'''Note if you are using a hosted account''': Most web hosts support all of these requirements by default. You should contact your web host's support desk to check that this is the case '''before''' signing-up with them. If you are already signed up with one of the few web hosts that does not support these features ask them why, and consider taking your business elsewhere if they do not change.<br />
<br />
== How many users? ==<br />
<br />
In addition to the hardware and software requirements, you will also need to think about the capacity of your Moodle installation in terms of the number of users it can handle. There are two numbers to plan for:<br />
<br />
* '''Browsing users''': the maximum number of users able to browse your Moodle site. This is the number of computers in your organization or on your course (whichever is greater).<br />
* '''Concurrent database users''': the maximum number of concurrent database users (needed for Moodle activities such as quizzes). This is the number of users who will be using Moodle at the same time. In an educational institution, use your timetable/roster to obtain this figure.<br />
<br />
Once you know these figures for your users, you can start work out if your Moodle installation can support this capacity. The exact number of users depends on your hardware/software/network combination. Usually the amount of memory installed (RAM) is the deciding factor but a faster overall processor speed will also help in reducing waiting times for pages to load. <br />
<br />
The general rule of thumb for a single server is that the approx max concurrent users = RAM (Gb) * 50 and the approx max browsing users = Approx max concurrent users * 5. As an example, a university with 500 total computers on campus and 100 concurrent users at any time will need approx 2Gb of RAM on the one server to support the number of concurrent users.<br />
<br />
'''Note if you are using a hosted account''': Ask your provider what limits are placed on the number of concurrent database connections and the processor load. This will give a good estimate of the number of users your Moodle install can manage.<br />
<br />
== Download and copy files into place ==<br />
<br />
There are two ways to get Moodle, either as a compressed package or via CVS. <br />
* There are two types of compressed packages on the [http://download.moodle.org/ download page: http://download.moodle.org/], the standard distribution with Moodle only files and the [[Complete install packages|complete install]], which contains programs to operate Moodle in a web environment. <br />
* To use CVS, helpful instructions are available at the [[CVS_for_Administrators | CVS for Administrators]] page. The full [http://moodle.cvs.sourceforge.net/moodle/moodle/ Moodle Sourceforge CVS repository] is also available for browsing. <br />
<br />
After downloading, unpack the archive using either <br />
tar -zxvf [filename]<br />
or<br />
unzip [filename]<br />
as appropriate. <br />
<br />
If using CVS, run the CVS Checkout command.<br />
<br />
You will now be left with a directory called "moodle", containing a number of files and folders.<br />
<br />
You can either place the whole folder in your web server documents directory, in which case the site will be located at '''<nowiki>http://yourwebserver.com/moodle</nowiki>''', or you can copy all the contents straight into the main web server documents directory, in which case the site will be simply '''<nowiki>http://yourwebserver.com</nowiki>'''.<br />
<br />
If you are downloading Moodle to your local computer and then uploading it to your web site, it is usually better to upload the whole archive as one file, and then do the unpacking on the server. Even web hosting interfaces like cPanel allow you to uncompress archives in the "File Manager".<br />
<br />
=== Structure of moodle directory ===<br />
<br />
You can safely skip this section, but here is a quick summary of the contents of the Moodle folder, to help get you oriented:<br />
<br />
:''config.php'' - contains basic settings. This file does not come with Moodle - you will create it.<br />
:''install.php'' - the script you will run to create config.php<br />
:''version.php'' - defines the current version of Moodle code<br />
:''index.php'' - the front page of the site<br />
:''admin/'' - code to administrate the whole server<br />
:''auth/'' - plugin modules to authenticate users<br />
:''blocks/'' - plugin modules for the little side blocks on many pages<br />
:''calendar/'' - all the code for managing and displaying calendars<br />
:''course/'' - code to display and manage courses<br />
:''doc/'' - help documentation for Moodle (eg this page)<br />
:''files/'' - code to display and manage uploaded files<br />
:''lang/'' - texts in different languages, one directory per language<br />
:''lib/'' - libraries of core Moodle code<br />
:''login/'' - code to handle login and account creation<br />
:''mod/'' - all the main Moodle course modules are in here<br />
:''pix/'' - generic site graphics<br />
:''theme/'' - theme packs/skins to change the look of the site.<br />
:''user/'' - code to display and manage users<br />
<br />
== Setting-up your system==<br />
To ensure that Moodle will install successfully, you need to check that the web server settings are correct, then create a blank database for Moodle to use and finally create a directory on your hard disk for Moodle to save your materials and other files you upload into your courses.<br />
<br />
=== Check web server settings ===<br />
<br />
*Firstly, make sure that your web server is set up to use index.php as a default page (perhaps in addition to index.html, default.htm and so on). In Apache, this is done using a DirectoryIndex parameter in your httpd.conf file. Mine usually looks like this:<br />
<br />
'''DirectoryIndex''' index.php index.html index.htm<br />
<br />
:Just make sure index.php is in the list (and preferably towards the start of the list, for efficiency).<br />
<br />
*Secondly, '''if you are using Apache 2''', then you should turn on the ''AcceptPathInfo'' variable, which allows scripts to be passed arguments like <nowiki>http://server/file.php/arg1/arg2</nowiki>. This is essential to allow relative links between your resources, and also provides a performance boost for people using your Moodle web site. You can turn this on by adding these lines to your httpd.conf file.<br />
<br />
'''AcceptPathInfo''' on<br />
<br />
*Thirdly, Moodle requires a number of PHP settings to be active for it to work. '''On most servers these will already be the default settings'''. However, some PHP servers (and some of the more recent PHP versions) may have things set differently. These are defined in PHP's configuration file (usually called '''php.ini'''):<br />
<br />
magic_quotes_gpc = 1 (preferred but not necessary)<br />
magic_quotes_runtime = 0 (necessary)<br />
file_uploads = 1<br />
session.auto_start = 0<br />
session.bug_compat_warn = 0<br />
<br />
:You may also want to set other, optional php.ini file settings while you are already editing it. For instance, you may want to reset the maximum upload size of file attachments, which usually defaults to 2M(egabytes). For instance, to set these to 16 Megabytes:<br />
<br />
post_max_size = 16M<br />
upload_max_filesize = 16M<br />
<br />
<br />
==== Using a .htaccess file ====<br />
<br />
Use the above if you can directly edit your server's files, but if you are setting-up Moodle on a webhost, or don't have access to '''httpd.conf''' or '''php.ini''' on your server, or you have Moodle on a server with other applications that require different settings, then don't worry, you can often still override the default settings. This only works on Apache servers and only when Overrides have been allowed in the main Apache configuration.<br />
<br />
* Create a file called '''.htaccess''' in Moodle's main directory that contains lines like the following. <br />
<br />
DirectoryIndex index.php index.html index.htm<br />
<br />
<IfDefine APACHE2><br />
'''AcceptPathInfo''' on<br />
</IfDefine><br />
<br />
php_flag magic_quotes_gpc 1<br />
php_flag magic_quotes_runtime 0<br />
php_flag file_uploads 1<br />
php_flag session.auto_start 0<br />
php_flag session.bug_compat_warn 0<br />
<br />
* Optionally, you can also do things like define the maximum size for uploaded files:<br />
<br />
LimitRequestBody 0<br />
php_value upload_max_filesize 2M<br />
php_value post_max_size 2M<br />
<br />
* The easiest thing to do is just copy the sample file from lib/htaccess and edit it to suit your needs. It contains further instructions. For example, in a Unix shell:<br />
<br />
cp lib/htaccess .htaccess<br />
<br />
=== Creating an empty database ===<br />
<br />
You need to create an empty database (eg "''moodle''") in your database system along with a special user (eg "moodleuser") that has access to that database (and that database only). You could use the "root" user if you wanted to for a test server, but this is not recommended for a production system: if hackers manage to discover the password then your whole database system would be at risk, rather than just one database.<br />
<br />
::'''Warning''': Bear in mind that currently (as of 1.5.x) Moodle doesn't work with MySQL 5.x's new strict mode (STRICT_TRANS_TABLES and/or STRICT_ALL_TABLES) setting. So if you are using MySQL 5.x, edit MySQL's configuration file (called "my.ini" in Windows and "my.cnf" on Unix/Linux) and comment out that option or set it to sql-mode="" (single quotes). You have to restart MySQL after changing this setting. <br><br> If you do not have access to your server, use PHPMyAdmin (or another MySQL client) and enter the command SET @@global.sql_mode="" (single quotes); (note the semi-colon).<br />
<br />
====Using a hosted server====<br />
If you are using a webhost, they will probably have a control panel web interface for you to create your database.<br />
<br />
The '''[http://www.cpanel.com/ cPanel]''' system is one of the most popular of these. To create a database in cPanel,<br />
<br />
# Click on the "'''MySQL Databases'''" icon.<br />
# Type "moodle" in the database field and click "'''Add Database'''".<br />
# Type a username and password (not one you use elsewhere) in the respective fields and click "'''Add User'''".<br />
# Now use the "'''Add User to Database'''" button to give this new user account "'''ALL'''" rights to the new database.<br />
# Note that the username and database names may be prefixed by your cPanel account name. When entering this information into the Moodle installer - use the full names.<br />
<br />
====Using the command line====<br />
<br />
If you have access to Unix or Windows command lines then you can do the same sort of thing by typing commands. You should do this using the MySQL Client program<br />
<br />
Here are some example MySQL client command lines (the red part is for Moodle 1.6 and later, leave it out for Moodle 1.5.x or earlier):<br />
<br />
# mysql -u root -p<br />
> CREATE DATABASE moodle <font color="red">DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci</font>; <br />
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*<br />
TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; <br />
> quit <br />
# mysqladmin -u root -p reload<br />
<br />
If you are using MySQL 4.0.2 or later, you need to specify CREATE TEMPORARY TABLES as well in the GRANT statement:<br />
<br />
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,<br />
DROP,INDEX,ALTER ON moodle.* <br />
TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; <br />
<br />
And some example command lines for PostgreSQL:<br />
<br />
# su - postgres<br />
> psql -c "create user moodleuser createdb;" template1<br />
> psql -c "create database moodle <font color="red">with encoding 'unicode'</font>;" -U moodleuser template1<br />
> psql -c "alter user moodleuser nocreatedb;" template1<br />
> psql -c "alter user moodleuser with encrypted password 'yourpassword';" template1<br />
> su - root<br />
# /etc/init.d/postgresql reload<br />
<br />
If the Postgres create database command above (>psql -c "create database moodle...") gives an error message you may want to try:<br />
psql -c "create database moodle with template=template1 encoding = 'unicode' owner = moodleuser <br> location = '/var/mydata';"<br />
<br />
=== Creating the data directory (moodledata) ===<br />
<br />
Moodle will also need some space on your server's hard disk to store uploaded files, such as course documents and user pictures. The Moodle installer tries hard to create this directory for you but if it fails then you will have to create a directory for this purpose manually.<br />
<br />
'''Security warning''': For security purposes, it's best that this directory is NOT accessible directly via the web. The easiest way to do this is to simply locate it OUTSIDE the web directory, but if you must have it in the web directory (and you are using Apache) then protect it by creating a file in the data directory called '''.htaccess''', containing this line:<br />
<br />
deny from all<br />
<br />
'''Permissions''': To make sure that Moodle can save uploaded files in this directory, check that the web server software has permission to read, write and execute in this directory. On Unix machines, this means setting the owner of the directory to be something like "nobody" or "apache", and then giving that user read, write and execute permissions. To do this you could use:<br />
<br />
chown -R nobody:nobody moodledata<br />
<br />
Remember by default, moodle will issue a warning about moodle data directories created inside the web directory, but otherwise this directory can be located where you wish. You can later move or change the location of this directory, but if you do, be sure to edit the setting in the '''config.php''' file that sets this; e.g. if moodledata is under a directory called data, then it would look like this:<br />
<br />
$CFG->dataroot = '/data/moodledata';<br />
<br />
'''CPanel and webhosts''': On cPanel systems you can use the "File Manager" to find the folder, click on it, then choose "Change Permissions". On many shared hosting servers, you will probably need to restrict all file access to your "group" (to prevent other webhost customers from looking at or changing your files), but provide full read/write access to everyone else (which will allow the web server to access your files). Speak to your server administrator if you are having trouble setting this up securely. In particular it will not be possible to create a usable data directory on sites that use a PHP feature known as "'''Safe Mode'''".<br />
<br />
== Run the installer script to create config.php ==<br />
<br />
To run the installer script (install.php), just try to access your Moodle main URL using a web browser, or access '''<nowiki>http://yourserver/install.php</nowiki>''' directly.<br />
<br />
(The Installer will try to set a session cookie. If you get a popup warning in your browser make sure you accept that cookie!)<br />
<br />
Moodle will detect that configuration is necessary and will lead you through some screens to help you create a new configuration file called '''config.php'''. At the end of the process Moodle will try and write the file into the right location, otherwise you can press a button to download it from the installer and then upload '''config.php''' into the main Moodle directory on the server.<br />
<br />
Along the way the installer will test your server environment and give you suggestions about how to fix any problems. For most common issues these suggestions should be sufficient, but if you get stuck, check in the Installation Forum for more help. <br />
<br />
== Go to the admin page to continue configuration ==<br />
<br />
Once the basic config.php has been correctly created in the previous step, trying to access the front page of your site will take you the "admin" page for the rest of the configuration.<br />
<br />
The first time you access this admin page, you will be presented with a GPL "shrink wrap" agreement with which you must agree before you can continue with the setup.<br />
<br />
Now Moodle will start setting up your database and creating tables to store data. Firstly, the main database tables are created. You should see a number of SQL statements followed by status messages (in green or red) that look like this:<br />
<br />
{| border=1<br />
|<nowiki>CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM</nowiki><br />
<br />
<font color="green">SUCCESS</font><br />
|}<br />
<br />
...and so on, followed by: <font color="green">Main databases set up successfully.</font><br />
<br />
If you don't see these, then there must have been some problem with the database or the configuration settings you defined in config.php. Check that PHP isn't in a restricted "Safe Mode" (commercial web hosts sometimes have safe mode turned on). You can check PHP variables by creating a little file containing '''<?php phpinfo() ?>''' and looking at it through a browser. Check all these and try this page again.<br />
<br />
Scroll down the very bottom of the page and press the "Continue" link.<br />
<br />
You should now see a form where you can define more configuration variables for your installation, such as the default language, SMTP hosts and so on. Don't worry too much about getting everything right just now - you can always come back and edit these later on using the admin interface. The defaults are designed to be useful and secure for most sites. Scroll down to the bottom and click "Save changes".<br />
<br />
If (and only if) you find yourself getting stuck on this page, unable to continue, then your server probably has what I call the "buggy referrer" problem. This is easy to fix: just turn off the "secureforms" setting, then try to continue again.<br />
<br />
Next you will see more pages that print lots of status messages as they set up all the tables required by the various Moodle module. As before, they should all be <font color="green">green</font>.<br />
<br />
Scroll down the very bottom of the page and press the "Continue" link.<br />
<br />
The next page is a form where you can define parameters for your Moodle site and the front page, such as the name, format, description and so on. Fill this out (you can always come back and change these later) and then press "Save changes".<br />
<br />
Finally, you will then be asked to create a top-level administration user for future access to the admin pages. Fill out the details with your own name, email etc and then click "Save changes". Not all the fields are required, but if you miss any important fields you'll be re-prompted for them.<br />
<br />
'''Make sure you remember the username and password you chose for the administration user account, as they will be necessary to access the administration page in future.'''<br />
<br />
(If for any reason your install is interrupted, or there is a system error of some kind that prevents you from logging in using the admin account, you can usually log in using the default username of "'''admin'''", with password "'''admin'''".)<br />
<br />
Once successful, you will be returned to the home page of your new site! Note the administration links that appear down the left hand side of the page (these items also appear on a separate Admin page) - these items are only visible to you because you are logged in as the admin user. All your further administration of Moodle can now be done using this menu, such as:<br />
<br />
* creating and deleting courses<br />
* creating and editing user accounts<br />
* administering teacher accounts<br />
* changing site-wide settings like themes etc<br />
<br />
But you are not done installing yet! There is one very important thing still to do (see the next section on cron).<br />
<br />
== Set up cron ==<br />
<br />
Please refer to the [[Cron|Cron instructions]].<br />
<br />
== Set up backups ==<br />
<br />
Please refer to the [[Backup | Backup instructions]].<br />
<br />
== Create a new course ==<br />
<br />
Now that Moodle is running properly, you can try creating a new course to play with.<br />
<br />
Select "Create a new course" from the Admin page (or the admin links on the home page).<br />
<br />
Fill out the form, paying special attention to the course format. You don't have to worry about the details too much at this stage, as everything can be changed later by the teacher. Note that the yellow help icons are everywhere to provide contextual help on any aspect.<br />
<br />
Press "Save changes", and you will be taken to a new form where you can assign teachers to the course. You can only add existing user accounts from this form - if you want to create a new teacher account then either ask the teacher to create one for themselves (see the login page), or create one for them using the "Add a new user" on the Admin page.<br />
<br />
Once done, the course is ready to customize, and is accessible via the "Courses" link on the home page.<br />
<br />
==See also==<br />
<br />
* [[Installation FAQ]]<br />
*[[Complete install packages]] might be an easier first time installs on some systems<br />
* [[Installing Apache, MySQL and PHP]] - Open source programs that can run Moodle on the web or on a desktop<br />
* [[Upgrading Moodle]]<br />
* Using Moodle [http://moodle.org/mod/forum/discuss.php?d=42688 Selecting a web host for Moodle] forum discussion<br />
* [[masquerading|Masquerading]] - Running Moodle behind a masquerading/NAT firewall<br />
<br />
[[Category:Core]]<br />
[[Category:Administrator]]<br />
[[Category:Installation]]<br />
<br />
[[cs:Instalace]]<br />
[[de:Installieren von Moodle]]<br />
[[es:Instalación de moodle]]<br />
[[fr:Installation de Moodle]]<br />
[[ja:Moodleのインストール]]<br />
[[nl:Installatiegids]]<br />
[[ru:Установка Moodle]]<br />
[[zh:安装Moodlezh:]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:XMLDB_problems&diff=19828Development:XMLDB problems2007-02-01T05:46:50Z<p>SamuliK: Just testing link namespace fixes.</p>
<hr />
<div>[[Development:XML database schema|XML database schema]] > XMLDB Problems<br />
----<br />
Every section on this page will show important problems present in the adoption of the new database layer planned for 1.7. Each section will define the problem, its impact and, when available, its solution. Every section will include one line containing its status (''''Open'''', ''''Decided''', ''''Work in progress'''', ''''Finished'''', ''''Tested'''' and ''''Closed''''). <br />
<br />
Of course, fell free to use the [http://moodle.org/bugs Bug Tracker] to follow the daily evolution of each one of these problems by adding one link inside each section pointing to the proper bug. <br />
<br />
Prior to change the status from ''''Decided'''' to ''''Work in progress'''' the corresponding page of the [[XMLDB Roadmap|roadmap]] must be modified, including all the actions/steps needed to solve the problem. Obviously, at the end, the expected status for each section is ''''Closed''''. <br />
<br />
== Regular expressions ==<br />
('''Status:''' <font color="red">Open</font> - '''Severity:''' Not Critical - '''Bug:''' not defined)<br />
<br />
Problems with Oracle (not available until 10g) and MSSQL (not available). Oracle 10g implements them using directly and one package existed since ages (Oracle 8i?) to handle them ([http://www.stormloader.com/yonghuang/computer/OracleRegExp.html owa_pattern]). MSSQL can execute them by installing some [http://www.codeproject.com/database/xp_pcre.asp stored procedures]. Oh, oh, problems with some (a few) queries...<br />
<br />
== SQL Limit performance==<br />
('''Status:''' <font color="red">Open</font> - '''Severity:''' Not critical - '''Bug:''' not defined)<br />
<br />
Analyse the impact of such SelectLimit() calls under SQL*Server, Oracle... because it's '''emulated''' by ADOdb on those DBs, because their lack of support for the LIMIT clause. As the offset parameter grows, ADOdb must iterate over more records to get the desired '''window''' and it could be a problem under long sets of records!<br />
<br />
== Naming conventions ==<br />
('''Status:''' Closed - '''Severity:''' Critical - '''Bug:''' not defined)<br />
<br />
What to do with all the previously created DB objects (indexes, unique indexes, sequences...) if their naming schema doesn't fit with the implemented by ADOdb. Drop/recreate everything? Leave it unmodified? Can we use different naming schemes for each DB. PostgreSQL one seems more formal, is it the way for Oracle and SQL*Server. Also I would propose to add some option to the Health Center in order to be able to drop all the indexes and regenerate them following the exact naming rules specified in [[XMLDB key and index naming|the XMLDB naming page]].<br />
<br />
== Naming conventions II ==<br />
('''Status:''' Closed - '''Severity:''' Critical - '''Bug:''' [http://tracker.moodle.org/browse/MDL-6230 MDL-6230])<br />
<br />
Oracle imposes [[XMLDB key and index naming|one limit of 30cc. for naming DB objects]] (table, field, index...), and currently we have some objects over such limit: <br />
mdl_glossary_entries_categories and mdl_question_dataset_definitions. They must be renamed to anything else ASAP. No alternate solution exists. Also, once renamed we should restrict the maximum length of $CFG->prefix to avoid undesired situations, at least for new installations to, say, 5cc, limiting table names to 25cc (without the prefix). PostgreSQL before 7.4 limit seems quite near too (32 cc.).<br />
<br />
'''Solution: ''' Limit table/field/index/key/sequence names to 30cc and deny the use of prefixes > 2cc for Oracle installations. See [[XMLDB key and index naming|key and index naming]] to get info about how XMLDB constructors will be naming all the remaining objects in DB.<br />
<br />
== NOT NULL fields using a DEFAULT <nowiki>''</nowiki> clause ==<br />
('''Status:''' <font color="red">Open</font> - '''Severity:''' Critical - '''Bug:''' [http://tracker.moodle.org/browse/MDL-6218 MDL-6218]<br />
)<br />
<br />
Under Moodle 1.6 there are tons of char/varchar/text/blob columns that are defined as NOT NULL and contains one DEFAULT clause with the value <nowiki>''</nowiki> (empty string).<br />
<br />
There are two important problems with this type of definitions:<br />
<br />
# They haven't to much sense from a design perspective. If one field is defined as NOT NULL it shouldn't contain empty values (yep, agree that NULL != everything, included empty, but in a logical world I cannot find any reason to fill fields with empty values).<br />
# Oracle considers empty strings as NULL values the DEFAULT application will crash in that RDBMS. (http://www.techonthenet.com/oracle/questions/empty_null.php)<br />
<br />
The proper way to solve this situation should be to annihilate all those inconsistent/wrong combinations from the whole DB schema (NOT NULL + DEFAULT <nowiki>''</nowiki>), but it can be really hard and risky to do it now (Moodle 1.6-1.7). So here it's the proposed solution:<br />
<br />
# Don't modify 1.6 at all. Everything should continue working properly.<br />
# In the XMLDB files, for 1.7, use the correct approach, i.e. all those fields won't have a default value in the XML structure, although they'll continue as NOT NULL there.<br />
# In the XMLDB generator (create table), for MySQL, PostgreSQL and MSSQL, add the DEFAULT clause for all the char/text columns that haven't a DEFAULT defined in the XML structure.<br />
# Add some check in the installation script to look for that MySQL modes being problematic.<br />
<br />
With this approach we'll have MySQL and PostgreSQL servers running exactly without modification in 1.7, with MSSQL working in the same manner, and Oracle version would be more correct, from the DB perspective, although sure it won't work in a lot of places. Also, if the Oracle isn't usable at all, we can trick it a bit, both declaring all those fields directly as NULL (+1 for it) or adding one dummy default value like one whitespace. They aren't perfect solutions but should improve a bit the Oracle experience, although, under 1.7, it's only going to be ALPHA-BETA-quality (too much changes are required across all the code to solve the NULL/NOT NULL/DEFAULT problem, and time for 1.7 is really short).<br />
<br />
After 1.7, we should start to modify MySQL, PostgreSQL and MSSQL implementation to use the same (correct) field definition (nullable columns) with more time to change/test/fix everything, progressively moving NOT NULL stuff to NULL if it's really nullable, dropping all those empty defaults.<br />
<br />
'''Updated:''' For 1.7 we have started the migration of TEXT fields that, being logic, can contain no data, from NOT NULL to NULL, while we'll maintain VARCHAR fields as explained above. This will give us a real idea of the impact of such change across Moodle code while will produce one better (real) DB Schema. After 1.7, all the rest of VARCHAR fields should follow the same process, being transformed from NOT NULL to NULL if the application logic says that they can have no contents. Then, all those empty ('') defaults will be out. Definitively! For Oracle we are inserting/updating 1 whitespace in all the NOT NULL, default '' fields and converting them back in all the get_xxx() DML functions (this is called in code: '''Oracle dirty hack'''). Hopefully will be out in 1.8.<br />
<br />
Here you'll find a list of TEXT fields transformed from NOT NULL to NULL (in the 1.6 --> 1.7) upgrade:<br />
<br />
* course->modinfo<br />
* course_categories->description<br />
* course_sections->summary<br />
* course_sections->sequence<br />
* data->XXXtemplate<br />
* data_fields->paramXXX<br />
* data_content->contentXXX<br />
* user->description<br />
<br />
Here you'll find a list of TEXT fields transformed from NOT NULL to NULL (in the 1.7 --> 1.8) upgrade:<br />
<br />
* Follow [http://tracker.moodle.org/browse/MDL-7354 this report in the Tracker]<br />
<br />
== Indexes on TEXT columns ==<br />
('''Status:''' Closed - '''Severity:''' Not Critical - '''Bug:''' not defined)<br />
<br />
Each RDBMS implementation has completely different mechanisms in order to create FULLTEXT indexes against TEXT columns. Also, the SQL commands to perform searches against such columns are pretty different (incompatible). This forces us to avoid TEXT column indexing for now. Here there are the list of fields we have changed in the transition to the XMLDB schema to avoid such indexing:<br />
<br />
* hotpot_questions->name<br />
* hotpot_strings->string<br />
<br />
Also, it's important to differentiate between FULLTEXT indexes (where we are going to index and search freely any text content) and FUNCTION indexes where we just index the results of the execution of one function. This last indexes aren't a suitable replacement for TEXT indexes, and aren't used at all if the '''EXACT" function call used to define the index isn't used by the SQL query.<br />
<br />
In the long term, the XMLDB schema should be extended to support this type of indexes to perform better fulltext searches. At the time of writing this, some efforts are being performed by the [[Student projects/Global search|Global search]] project, part of the [[Student projects]].<br />
<br />
Finally, note that a lot of RDBMS flavours aren't able to keep all those FULLTEXT indexes updated online all they need to be synchronised/optimised continuously by "external" agents (stored procedures, command line executables, cron tasks...).<br />
<br />
'''Updated:''' all the indexes currently existing under Moodle were present in the HotPot module. After some interesting emails with the author (Gordon Bateson), he is going to implement a workarround in the module in order to save the problem. It includes creating some new columns (of type VARCHAR, index-able) with some md5() hash from the original text. With this approach the module will be able to do comparisons of hashes using indexed fields (the hashes themselves). Note that this solution isn't suitable to perform searches in an optimised way, for them, FULLTEXT indexes are needed as explained above.<br />
<br />
Some interesting links about FULLTEXT indexing/search/maintain:<br />
<br />
* http://mysql.com/doc/refman/5.0/en/fulltext-search.html: Fulltext for MySQL<br />
* http://www.devx.com/opensource/Article/21674/0/page/1 : Tsearch for PostgreSQL<br />
* http://www.oracle.com/technology/products/text/htdocs/ctxcat_primer.html : Oracle CTXCAT indexes (simpler) and http://www.oracle-base.com/articles/9i/FullTextIndexingUsingOracleText9i.php : Oracle CONTEXT indexes (the complex alternative).<br />
* http://www.databasejournal.com/features/mssql/article.php/1438211: Fulltext indexes for MSSQL.<br />
<br />
== ORDER BY text columns ==<br />
('''Status:''' Closed - '''Severity:''' Not Critical - '''Bug:''' not defined)<br />
<br />
Not all RDBMS support SELECT sentences using the ORDER BY clause with any TEXT fields. To solve this problem this strategy will be used:<br />
<br />
# Avoid ordering your queries by TEXT columns.<br />
# If the previous one isn't possible and you need to order by any text column, use the sql_order_by_text($columname). They will create the needed SQL code to be able to run your queries and to get ordered results.<br />
<br />
== MSSQL, PHP, UTF-8 and UCS-2 ==<br />
('''Status:''' Closed - '''Severity:''' Critical - '''Bug:''' [http://tracker.moodle.org/browse/MDL-6877 MDL-6877])<br />
<br />
Practically all the modern RDBMS support more than one encoding to be used, both to store information in such encodings or to handle data between clients and servers with automatic conversions. More properly, all them support natively the UTF-8 encoding that is currently used by practically all the web applications, mobile widgets and all sort of devices.<br />
<br />
But there '''is one notable exception''', SQL*Server. It exclusively supports the UCS-2 encoding (another Unicode flavour) to be used against their ''special'' nchar columns. Worse is the fact that '''Microsoft doesn't offer any reliable solution for 3rd part clients''' inside their plethora of connectivity solutions (ODBC, OLE, COM...) to transparently perform the conversion from/to UCS-2 and the desired encoding (UTF-8 for Moodle).<br />
<br />
You can see the solutions '''suggested''' by Microsoft in: http://support.microsoft.com/kb/232580/EN-US/ :-P<br />
<br />
Solutions provided in that article, although could help to some people, aren't ok for Moodle. We need to use PHP and be able to send and receive UTF-8 data from/to the server, storing it properly in the server side (in UCS-2) to be able to handle it properly.<br />
<br />
After a lot of time ''googling'' the net it seems that the basis of the problem is the called '''DBLIB''' library (the dll file has one unpronounceable name). This library is used by practically all the DB clients to build their interfaces. PHP and others rely on this library to build their own modules of access to SQL*Server databases. And '''this base library lacks UTF-8 support''' (or at least it doesn't offer conversion from/to UTF-8).<br />
<br />
With this on mind, a research of alternative solutions began. Any solution should fulfil these characteristics:<br />
<br />
* '''Convert transparently''' from UTF-8 (PHP and Moodle) to UCS-2 (SQL*Server) so everything was properly stored on each side.<br />
* Obviously, be '''supported by PHP 4.3.x upwards''' (min req. for Moodle).<br />
* Be '''supported by ADOdb''', our Database Abstraction Library for PHP.<br />
* Be '''available both''' for Unix and Windows environments.<br />
* If possible, be '''able to replace the standard php_mssql extension''' that doesn't support the automatic conversion. This would be great because mssql support from ADOdb is pretty good (better that other alternatives like COM, OLE...).<br />
<br />
And finally, they exist! We've found two products ('''OpenSource, of course''') that fulfil all the requirements detailed above. Both perform the automatic conversion between UTF-8 and UCS-2, replace the standard php_mssql library so we'll continue using the well supported mssql ADOdb driver and are cross-platform. Anything more, nah, here they are:<br />
<br />
* '''[http://www.freetds.org/ FreeTDS]''': This a 100% client product that it's based in the [[Wikipedia:Tabular_Data_Stream|Tabular Data Protocol]] supported both SQL*Server and Sybase. We have compiled and used it both under Linux and MacOS X without problems and with one minimal configuration it replaces the standard php_mssql extension smoothly. The documentation says it works also under Win32 systems but we haven't tried it there. Tons of reports in Internet talk about it as a reliable solution.<br />
* '''[http://odbtp.sourceforge.net/ ODBTP]''': This is another protocol, Open Database Transport Protocol, that allows to connect virtually to any Win32 DB server. It requires both one client installation and one service to be installed in one Win32 machine (to act as bridge between the client and the DB, via ODBC). The client part is available for Linux and MacOS X (not tested) and also implements one replacement for the standard php_mssql extension. The service part is obviously, available only for Win32. After a minimal configuration it works perfectly and it's announced as reliable for critical missions.<br />
<br />
After comparing and monitoring both alternatives during some months, it seems that the 2nd option, ODBTP, is slightly more reliable, mainly because it's better supported (forums and bugs) and it seems that MS is changing the TDS support (versions) between different releases continuously. <br />
<br />
See [[Installing_MSSQL_for_PHP]] for full details on how to connect PHP to MS SQL.<br />
<br />
* Some more explanations: http://forums.devshed.com/ms-sql-development-95/odbtp-good-solution-for-connecting-to-mssql-from-linux-unix-127004.html<br />
<br />
<font color="red">Reopened: </font>It seems that, although both '''TDS''' and '''ODBTP''' automatically transform the information properly to UCS-2 and all the textual fields have been defined as "Nxxx", the SQL*Server engine performs its own conversions before storing data definitively. See [http://tracker.moodle.org/browse/MDL-6877 MDL-6877] for more info.<br />
<br />
'''Reclosed:''' We have introduced one "home-made" ADOdb mssql driver (called mssql_n). It's one simple extension of the standard one that, simply, tries to parse all the queries before being sent to DB, pre-pending the infamous '''"N"''' before any SQL literal present in the statement. So, until another solution arrives (native UTF-8 support in drivers or DB, transparent conversion in drivers...) we'll be using this new ADOdb driver over FreeTDS or ODBTP. More if we are going to migrate to [[Development:Prepared Statements|prepared statements]] everywhere in next releases and these seem to avoid the '''"N"''' problem. Also, another connection alternatives (PDO...) will be analysed for incoming versions, but that's another story.<br />
<br />
== Reserved Words in Moodle DB ==<br />
('''Status:''' <font color="green">Done!</font> - '''Severity:''' Critical - '''Bug:''' [http://tracker.moodle.org/browse/MDL-6307 MDL-6307])<br />
<br />
Some of the DB names used in Moodle 1.6 are reserverd words (words that are forbidden to be used as identifiers for DB objects). The list of currently detected Reserved Words is:<br />
<br />
* assignment_submissions->comment (oracle) <font color="green">Done! (assignment_submissions->submissioncomment)</font><br />
<br />
* forum->open (mssql) <font color="green">Done! (this field is out in 1.7)</font><br />
* glossary_comments->comment (oracle) <font color="green">Done! (glossary_comments->entrycomment)</font><br />
* journal_entries->comment (oracle) <font color="green">Done! (journal_entries->entrycomment)</font><br />
* question_dataset_items->number (oracle) <font color="green">Done! (question_dataset_items->itemnumber)</font><br />
* question_sessions->comment (oracle) <font color="green">Done! (question_sessions->manualcomment)</font><br />
* timezone->rule (mssql) <font color="green">Done! (timezone->tzrule)</font><br />
* resource table (oci8po)<br />
* user table (mssql, oracle, postgres)<br />
<br />
(the format of the list is table->field (reserved on DB)<br />
<br />
Note that reserved words aren't dangerous if we are using prefixes for tables (so we should force prefix usage under Moodle 1.7 for NEW installations, 1-2cc for oracle and 1-10cc for the rest).<br />
<br />
* See [[XMLDB reserved words]] for more details and info.<br />
* See [http://tracker.moodle.org/browse/MDL-6307 MDL-6307] about developers discussion and implementation details.<br />
<br />
== ADOdb fetch mode (ASSOC, NUM and BOTH) ==<br />
('''Status:''' Finished - '''Severity:''' Critical - '''Bug:''' not defined)<br />
<br />
By default we use ADOdb under FETCH_BOTH mode. This returns ''mixed'' recordsets with both numeric keys (0, 1, 2...) and literal keys (the name of the fields). And then, we get an associative array from such recordset.(for all the get_records_XXX functions). Let's see one example:<br />
<br />
If we have one table, call it "people" with three columns (id, name, address) and with this data:<br />
<br />
666, 'Bill', 'Medina<br />
777, 'Steve', 'Palo Alto'<br />
<br />
So, one simple query like this:<br />
<br />
SELECT id, name, address<br />
FROM people;<br />
<br />
Will return one recordset with this structure in PHP:<br />
<br />
array (<br />
[0] => stdClass Object (<br />
[0] = 666<br />
[id] = 666<br />
[1] = Bill<br />
[name] = Bill<br />
[2] = Medina<br />
[address] = Medina}<br />
[1] => stdClass Object (<br />
[0] = 777<br />
[id] = 777<br />
[1] = Steve<br />
[name] = Steve<br />
[2] = Palo Alto<br />
[address] = Palo Alto)<br />
)<br />
<br />
And, when we get the associative array it will be transformed to:<br />
<br />
array (<br />
[666] => stdClass Object (<br />
[id] = 666<br />
[1] = Bill<br />
[name] = Bill<br />
[2] = Medina<br />
[address] = Medina}<br />
[777] => stdClass Object (<br />
[id] = 777<br />
[1] = Steve<br />
[name] = Steve<br />
[2] = Palo Alto<br />
[address] = Palo Alto)<br />
)<br />
<br />
i.e. the first attribute of the original recordset is used to build the key of the final array, disappearing from the array itself. In our example above, the first column in the recordset was the index '''[0]'''.Their values (666, 777) have been used as key in the associative array and it has disappeared from it.<br />
<br />
We have been using this mechanism to work with associative arrays inside Moodle, where both the key and the '''[id]''' element were pointing to the same value, being possible to handle both fields. But this trick has two major drawbacks:<br />
<br />
# All the data is transmitted and stored twice. As you see in the original recordset, the data of all the fields is duplicated, while we aren't using the [1], [2]... indexes at all.<br />
# Although the order until now, both for MySQL and PostgreSQL always retrieve the numeric indexes first, and then the named indexes, some drivers invert this order, returning the named indexes first and then the numerical ones. And this have '''highly negative consequences''' in the the final structures that are returned by the get_records_XXX() functions, losing completely the '''[id]''' key, that is used across all Moodle.<br />
<br />
So, this solution is proposed:<br />
<br />
* <font color="green">Done!: </font>In order to solve (2) ASAP, we'll duplicate the first field of each record in the recordset before calling to GetAssoc(). With this we guarantee that nothing is lost and the field becoming key in the associative array will continue in the record.<br />
* <font color="green">Done!: </font>Also, the [http://odbtp.sourceforge.net/ ODBTP driver] has been "fixed" to return fields in the correct order. Thanks to [http://sourceforge.net/users/rtwitty/ Bob] for his support. <br />
* <font color="green">Done!: </font>After 1.7, we should change our approach from FETCH_BOTH to FETCH_ASSOC to solve (1), retrieving/handling exactly half the data. All the places using the numerical keys will be updated (although they should be practically non-existent). The hack in the previous point will allow us to work with only ''named'' fields while our dear first field (id) well be maintained after building the associative array.<br />
* <font color="green">Done!: </font>UPDATE: This has been implemented (but not committed) by Eloy and Luke and is working well. Additionally, the patch is small and only touches dmlib.php. We will implement the changes in CVS HEAD (for 1.7) and it will be tested thoroughly -- as part of the whole set of changes. If it proves to be a problem, it is trivial to revert.<br />
<br />
== Oracle, PHP 5.1.x and LOBs ==<br />
('''Status:''' Closed - '''Severity:''' Critical - '''Bug:''' not defined)<br />
<br />
Running under Oracle, it seems that it's impossible to handle fields having CLOB/BLOB data. While it's possible to send data to LOB columns, '''it cannot be retrieved from them''' and the PHP script ends with a timeout.<br />
<br />
Process: After spending a lot of time tracing the problem under ADOdb internals, it seemed to be produced by the OCI function: '''ocifetchinto()''' when used with the '''OCI_RETURN_LOBS''' setting in order to retrieve contents of LOB columns in a single pass. We've tried some alternatives like '''ociloadlob()''', '''OCI-Lob->read()''' and '''OCI-Lob->load()''' but all them were crashing. Finally we [http://bugs.php.net/bug.php?id=37406 found one bug] documented in PHP. So the solution seems to avoid PHP <= 5.1.4 completely if Oracle is going to be used. Just trying it now.<br />
<br />
Bad news, '''5.1.6 doesn't seems to solve the problem'''. :-( Testing with 4.3.11 now. Also we've filled [http://bugs.php.net/bug.php?id=38612 this PHP Bug] trying to get a solution for PHP 5.1.x).<br />
<br />
More news: Oracle LOBs seem to be working back with '''PHP 5.2.x''' (release candidate at the time of writing this). I hope they'll back-port it to 5.1.x series too. Stay tuned on http://bugs.php.net/bug.php?id=38612<br />
<br />
'''Solution:''' To use PHP 4.3.x, 4.4.x or PHP 5.2 standard distributions or to build PHP 5.1.x with oci8-1.2.2 or later (download it from http://pecl.php.net/package/oci8 or install it dynamically with PEAR/PECL).<br />
<br />
== Case-insensitive searches ==<br />
('''Status:''' <font color="red">Open</font> - '''Severity:''' NotCritical - '''Bug:''' not defined)<br />
<br />
There are important differences about how each RDBMS performs searches, both using the "=" and the "LIKE" operators. Both '''MySQL''' and '''MSSQL''' performs case-insensitive searches, while '''PostgreSQL''' and '''Oracle''' perform case-sensitive searches.<br />
<br />
For PostgreSQL, the "ILIKE" operator can be used and it's being used since ages in Moodle.<br />
For Oracle, the main problem is that a reliable solution isn't available before Oracle 10gR2. If we stabilish such version as minimum requirement for Moodle, we could use both the '''regexp_like()''' function with the '''i''' (case-insensitive) switch or the '''NLS_COMP=LINGUISTIC''' setting that produces makes searches case-insensitive.<br />
<br />
So, the solution, is to raise min reqs. for Oracle up to 10gR2 and use one of the solutions above (2nd one being simpler and more transparent).<br />
<br />
== Table and column aliases - the AS keyword ==<br />
('''Status:''' Closed - '''Severity:''' Critical - '''Bug:''' not defined)<br />
<br />
Every DB use it's own approach about using table and columns aliases using the '''AS''' keyword. This is the summary:<br />
<br />
* '''MySQL''': supports AS in tables, supports AS in fields.<br />
* '''PostgreSQL''': supports AS in tables, <font color="red">requires</font> AS in fields.<br />
* '''Oracle''': <font color="red">forbids</font> AS in tables, supports AS in fields.<br />
* '''MSSQL''': supports AS in tables, supports AS in fields.<br />
<br />
So, with this information, the only cross-db strategy is:<br />
<br />
* '''Don't use''' the '''AS''' keyword for all the '''table aliases'''.<br />
* '''Do use''' the '''AS''' keyword for all the '''column aliases'''.<br />
<br />
Other solutions could be to use some constants to apply the keyword as necessary, but it would make a lot of SQL statements to look awful. Until we don't get another RDBMS breaking the previous strategy, it will be applied.<br />
<br />
Also, a '''big search and destroy''' in required in order to fine-applying the above premises across Moodle code. They shouldn't be really too many wrong uses.<br />
<br />
==See also==<br />
<br />
* [[XMLDB Modifying DML functions]]: Changes to perform to the new dmllib.php (old datalib DML functions).<br />
* [[XMLDB preliminary notes]]: Some preliminary notes when problems were initially detected and briefly noted.<br />
<br />
[[Category:Developer]]<br />
[[Category:XMLDB]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Roles&diff=19349Development talk:Roles2007-01-18T10:43:58Z<p>SamuliK: /* What are the legacy capabilities for? */</p>
<hr />
<div>Chris, I put back the forum moderator example. I think it was intentional. We want to get people thinking outside the box of what previous versions were capable of.<br />
<br />
-----<br />
<br />
<br />
The list of capabilities for some activities should include viewing as a separate capability since it is a distinct action from editing or taking part, for example<br />
<br />
choice_canviewresults<br />
<br />
== legacy support for isstudent() and isteacher() ==<br />
<br />
We could provide legacy support for modules (and core) to continue using isstudent() and isteacher() calls, by replacing these with stubs that simply wrap the new access control API and feed in the proper parameters. This might help reduce the initial effort (i.e., you don't HAVE to update every. single. module. at first, just the ones most affected by this API change. then, as time allows, and as modules are being updated anyway, migrate them to the new API)<br />
<br />
almost forgot - totally looking forward to this feature. any ETA?<br />
<br />
== What are the legacy capabilities for? ==<br />
<br />
I've been reading the Roles documentation, and my a lot of work going on in here! Keep it up! I might be understanding something incorrectly as I can't figure out what the legacy capabilities are for? I thought that Roles are sets of capabilities. There might/should be Roles for all of the "legacy roles", which would then have the default set of capabilities matching the capabilities in 1.6. What are the "legacy capabilities" then? --[[User:Samuli Karevaara|Samuli Karevaara]] 07:27, 1 September 2006 (CDT)<br />
:No answer yet... This was also asked in the [http://moodle.org/mod/forum/discuss.php?d=61269 forums]. --[[User:Samuli Karevaara|Samuli Karevaara]] 04:43, 18 January 2007 (CST)</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Roles&diff=19348Development:Roles2007-01-18T10:08:15Z<p>SamuliK: /* Definitions */</p>
<hr />
<div>'''Roles and permissions''' will be in Moodle 1.7 and are available in the developer version of Moodle.<br />
<br />
<br />
==Definitions==<br />
<br />
A role is an identifier of the user's status in some context. For example: Teacher, Student and Forum moderator are examples of roles.<br />
<br />
A capability is a description of some particular Moodle feature. Capabilities are associated with roles. For example, ''mod/forum:replypost'' is a capability.<br />
<br />
A permission is some value that is assigned for a capability for a particular role. For example, allow or prevent.<br />
<br />
A context is a "space" in the Moodle, such as courses, activity modules, blocks etc.<br />
<br />
==The existing system==<br />
<br />
Currently in Moodle, we have a fixed set of roles i.e. primary admin, admins, course creators, editing teachers, non-editing teachers, students, and guests. For each role, the capability or actions that they can perform are fixed. For example, the role student allows the user to submit an assignment, but doesn't allow the user to browse/edit other users' work. By using this setup we limit ourselves to a rather rigid set of capabilities for each role. If we want, say a particular student or group to be able to mark assignments in a particular course, we can't do that without giving these users teacher privileges.<br />
<br />
==The new roles and capability system==<br />
<br />
<br />
{{Moodle 1.7}}Role has two primary functions:<br />
# define list of permissions - role definition is global for all contexts, but can be changed by local context overrides<br />
# replace old course erolments - role assignment in course context is simitar to the old enrolment process<br />
<br />
<br />
The new system will allow authorized users to define an arbitrary number of roles (eg a teacher) <br />
<br />
A role consists of a list of permissions for different possible actions within Moodle (eg delete discussions, add activities etc)<br />
<br />
Roles can be applied to users in a context (eg assign Fred as a teacher in a particular course)<br />
<br />
Here are the possible contexts, listed from the most general to the most specific. <br />
<br />
#CONTEXT_SYSTEM -- the whole site<br />
#CONTEXT_PERSONAL -- yourself<br />
#CONTEXT_USER -- another user<br />
#CONTEXT_COURSECAT -- a course category<br />
#CONTEXT_COURSE -- a course<br />
#CONTEXT_GROUP -- a group<br />
#CONTEXT_MODULE -- an activity module<br />
#CONTEXT_BLOCK -- a block<br />
<br />
An authorized user will be able to assign an arbitrary number of roles to each user in any context.<br />
<br />
Capabilities can have the following permissions:<br />
<br />
#CAP_INHERIT<br />
#CAP_ALLOW<br />
#CAP_PREVENT<br />
#CAP_PROHIBIT<br />
<br />
If no permission is defined, then the capability permission is inherited from a context that is more general than the current context. If we define different permission values for the same capability in different contexts, we say that we are overriding the capability in the more specific context.<br />
<br />
Since the capabilities in each role could be different, there could be conflict in capabilities. This is resolved by enforcing the rule that the capability defined for a more specific context will win, unless a prohibit is encountered in a less specific context.<br />
<br />
For example, Mark has a student role at course level, which allows him to write into a wiki. But Mark also got assigned a Visitor role at a module context level (for a particular wiki) which prevents him from writing to the wiki (read only). Therefore, for this particular wiki, Mark will not be able to write to the wiki since the more specific context wins.<br />
<br />
If we set a PROHIBIT on a capability, it means that the capability cannot be overridden and will ALWAYS have a permission of prevent (deny). Prohibit always wins. For example, Jeff has a naughty student role that prohibits him from postings in any forums (for the whole site), but he's also assigned a facilitator role in "Science forum" in the course Science and Math 101. Since prohibit always wins, Jeff is unable to post in "Science forum".<br />
<br />
Allow and prevent will cancel each other out if set for the same capability at the same context level. If this happens, we refer to the previous context level to determine the permission for the capability.<br />
<br />
This may sound more complex than it really is in practice. The upshot is that the system can be flexible enough to allow pretty much any combination of permissions.<br />
<br />
==Upgrading from 1.6==<br />
<br />
A smooth upgrade will be provided with 1.7. The existing roles (admin, teacher, student, etc), and the existing capabilities will be automatically retained. This is done by creating default roles at site/course levels, and assigning the current users to these roles accordingly. The default roles will have default capabilities associated with them, mirroring what we have in 1.6. With no modifications, Moodle will operate exactly the same before and after the upgrade.<br />
<br />
===Admins===<br />
<br />
Admin users will be assigned the default legacy admin role in the system (site) context<br />
<br />
===Course Creators===<br />
<br />
Admin users will be assigned the default legacy course creator role in the system (site) context<br />
<br />
===Teachers===<br />
<br />
Users who were teachers will be assigned the default legacy teacher role (or non-editing teacher role) in all courses they were teacher.<br />
<br />
===Students===<br />
<br />
Users who were students will be assigned the default student role in all courses they were student.<br />
<br />
===Guests===<br />
<br />
There will still be a single guest user with no default role at site level. For each course that allows guest access, the guest role will be assigned to the guest user for that course context. The guest control for the course will be modified from three to two options (guests always need to enter enrolment key - on/off). This setting is checked as now to force guests to enter key.<br />
<br />
==Capabilities==<br />
<br />
This will be a comprehensive list of capabilities (it's not complete yet). It is important that capability names are unique.<br />
<br />
===Core-level Capabilities===<br />
<br />
Moodle core capability names start with 'moodle/'. The next word indicates what type of core capability it is, and the last word is the actual capability itself. The capabilities for the Moodle core are defined in lib/db/access.php<br />
<br />
<br />
#moodle/legacy:guest - legacy capabilities are used to transition existing users to the new roles system during the upgrade to Moodle 1.7<br />
#moodle/legacy:student<br />
#moodle/legacy:teacher<br />
#moodle/legacy:editingteacher<br />
#moodle/legacy:coursecreator<br />
#moodle/legacy:admin<br />
#moodle/site:doanything - special capability, meant for admins, if is set, overrides all other capability settings<br />
#moodle/site:config - applicable in admin/index.php and config.php (might break down later) : 1)admin/config.php 2)admin/configure.php 3)blocks/admin/block_admin.php load_content_for_site()<br />
#moodle/site:readallmessages - reads all messages and history<br />
#moodle/site:approvecourse - approves a pending course<br />
#moodle/site:manageblocks - adding/removing/editing blocks (site, course contexts only for now) : 1)_add_edit_controls moodleblock.class.php <br />
#moodle/site:backup - can create a course backup : 1)course/category.php 2)block_admin.php<br />
#moodle/site:restore - can restore into this context : 1)course/category.php 2)block_admin.php<br />
#moodle/site:import - can import other courses into this context : 1)block_admin.php<br />
#moodle/site:accessallgroups - able to access all groups irrespective of what group the user is in<br />
#moodle/site:accessdb - directly accessing db (phpmyadmin)<br />
#moodle/site:viewfullnames - able to see fullnames of other users<br />
#moodle/site:viewparticipants - able to view participants<br />
#moodle/site:viewreports - able to view site/course reports<br />
#moodle/site:trustcontent - ability to use trusttext feature and bypass cleaning in specific areas<br />
#moodle/site:uploadusers - ability to upload/update users from text file; moodle/role:assign capability is needed for course enrolling<br />
#moodle/blog:view - read blogs (usable in system or course context)<br />
#moodle/blog:create - write new blog posts (usable in system context only)<br />
#moodle/blog:manageofficialtags - create/delete official blog tags that others can use (usable in system context only)<br />
#moodle/blog:managepersonaltags - delete personal blog tags that others can use (usable in system context only) Note: users can always add own personal tags. This setting should be off for students by default.<br />
#moodle/blog:manageentries - edit/delete all blog entries (usable in system context only)<br />
#moodle/course:setcurrentsection - mark course section<br />
#moodle/course:create - create courses : 1)course/edit.php 2)course/category.php 3)course/index.php<br />
#moodle/course:delete - create courses : 1)course/category.php<br />
#moodle/course:update - update course settings<br />
#moodle/course:view - can use this to find participants<br />
#moodle/course:viewparticipants - allows a user to view participant list<br />
#moodle/course:viewscales - view scales (i.e. in a help window?) : 1)course/scales.php<br />
#moodle/course:manageactivities - adding/removing/editing activities and resources (don't think it makes any sense to split these)<br />
#moodle/course:managescales - add, delete, edit scales, move scales up and down : 1)blocks/block_admin.php 2)course/scales.php<br />
#moodle/course:managegroups - managing groups, add, edit, delete : 1)course/groups.php 2)course/group.php<br />
#moodle/course:managefiles - manage course files and folders<br />
#moodle/course:managequestions - manage course questions<br />
#moodle/course:managemetacourse - manage child courses in metacourse<br />
#moodle/course:reset - able to reset the course<br />
#moodle/course:useremail - Can use the enable/disable email stuff<br />
#moodle/course:visibility - hide/show courses : 1)course/category.php<br />
#moodle/course:viewhiddencourses - see hidden courses<br />
#moodle/course:activityvisibility - hide/show activities within a course<br />
#moodle/course:viewhiddenactivities - able to see activities that have been hidden<br />
#moodle/course:sectionvisibility - hide/show sections<br />
#moodle/course:viewhiddensections - view hidden sections<br />
#moodle/course:viewcoursegrades - views all grades in course<br />
#moodle/course:viewhiddenuserfields - view all hidden user fields<br />
#moodle/course:managegrades - manages grades settings in course<br />
#moodle/category:create - create category : 1)course/index.php<br />
#moodle/category:delete - delete category : 1)course/index.php<br />
#moodle/category:update - update category settings (sort and rename) this is currently an admin capability : 1)course/category.php<br />
#moodle/category:visibility - hide/show categories : 1)course/index.php<br />
#moodle/user:viewusergrades - view your own, or other user's grades (with specified context)<br />
#moodle/user:create - create user : 1) user/edit.php<br />
#moodle/user:delete - delete user : 1) admin/user.php<br />
moodle/user:readuserblogs - read blog entries<br />
#moodle/user:update - update user settings : 1) user/edit.php<br />
#moodle/user:viewdetails - view personally-identifying user details (e.g. name, photo).<br />
#moodle/user:viewhiddendetails - view user details marked as "hidden"<br />
#moodle/calendar:manageownentries - create/edit/delete <br />
#moodle/calendar:manageentries - create/edit/delete<br />
#moodle/role:assign - assign roles to users<br />
#moodle/role:override - can override role capabilities (depending on context)<br />
#moodle/role:manage - create/edit/delete roles, set capability permissions for each role<br />
#moodle/role:unassignself - unassign yourself from your own roles<br />
#moodle/role:viewhiddenassigns - view role assignments that have been marked as hidden<br />
#moodle/question:import - imports questions (course level?) - Yes, question permissions currently need to be course-level.--[[User:Tim Hunt|Tim Hunt]]<br />
#moodle/question:export - exports questions (course level?)<br />
#moodle/question:managecateory - add/delete/edit question categories (course level?)<br />
#moodle/question:manage - add/edit/delete a question (course level)<br />
<br />
===User-level Capabilities===<br />
# moodle/user:readuserposts -read individual user posts on profile page (parent?)<br />
# moodle/user:readuserblogs -read individual user blogs on profile page (parent?)<br />
# moodle/user:viewuseractivitiesreport-read individual activity report on profile page (parent?)<br />
# moodle/user:editprofile - edit profile (normally used in CONTEXT_USERID and CONTEXT_SYSTEM)<br />
<br />
===Module-level Capabilities===<br />
The capabilities are cached into a database table when a module is installed or updated. Whenever the capability definitions are updated, the module version number should be bumped up so that the database table can be updated.<br />
<br />
The naming convention for capabilities that are specific to modules and blocks is 'mod/mod_name:capability'. The part before the colon is the full path to the module in the Moodle code. The module capabilities are defined in mod/mod_name/db/access.php.<br />
<br />
#Assignment<br />
##mod/assignment:view- reading the assignment description<br />
##mod/assignment:submit - turn assignment in<br />
##mod/assignment:grade - grading, viewing of list of submitted assignments<br />
#Chat<br />
##mod/chat:chat - allows a user to participate in this chat<br />
##mod/chat:readlog - allows a user to read past chat session logs<br />
##mod/chat:deletelog - allows a user to delete past chat logs<br />
#Choice<br />
##mod/choice:choose - make a choice<br />
##mod/choice:readresponses - read all responses<br />
##mod/choice:deleteresponses - deletes all responses<br />
##mod/choice:downloadresponses - download responses<br />
#Database<br />
##mod/data:viewentry - reads other people's entry<br />
##mod/data:writeentry - add / edit and delete (own) entries<br />
##mod/data:managetemplates - add, delete, edit fields and templates<br />
##mod/data:manageentries - edit/delete all entries<br />
##mod/data:comment - comment<br />
##mod/data:managecomments - edit/delete all comments<br />
##mod/data:rate - rate an entry<br />
##mod/data:viewrating<br />
##mod/data:approve - approves an entry<br />
##mod/data:uploadentries - batch upload of entries<br />
#Exercise<br />
##mod/exercise:assess<br />
#Forum<br />
##mod/forum:viewdiscussion<br />
##mod/forum:viewdiscussionsfromallgroups<br />
##mod/forum:viewhiddentimedposts<br />
##mod/forum:startdiscussion<br />
##mod/forum:replypost<br />
##mod/forum:viewrating<br />
##mod/forum:viewanyrating<br />
##mod/forum:rate<br />
##mod/forum:createattachment<br />
##mod/forum:deleteownpost<br />
##mod/forum:deleteanypost<br />
##mod/forum:splitdiscussions<br />
##mod/forum:movediscussions<br />
##mod/forum:editanypost<br />
##mod/forum:viewqandawithoutposting<br />
##mod/forum:viewsubscribers<br />
##mod/forum:managesubscriptions<br />
##mod/forum:throttlingapplies<br />
#Glossary<br />
##mod/glossary:write - add entries<br />
##mod/glossary:manageentries - add, edit, delete entries<br />
##mod/glossary:managecategories - create, delete, edit categories<br />
##mod/glossary:comment - comment on an entry<br />
##mod/glossary:managecomments - edit, delete comments<br />
##mod/glossary:import - import glossaries<br />
##mod/glossary:export - export glossaries<br />
##mod/glossary:approve - approve glossaries<br />
##mod/glossary:rate - rates glossary<br />
##mod/glossary:viewrating - view ratings<br />
#Hotpot<br />
##mod/hotpot:attempt - attempt a hotpot<br />
##mod/hotpot:viewreport - review and view reports<br />
##mod/hotpot:grade - (grade? and) regrade<br />
##mod/hotpot:deleteattempt - deletes attempts<br />
#Label<br />
##none<br />
#Lams<br />
##mod/lams:participate - original student<br />
##mod/lams:manage - original teacher<br />
#Lesson<br />
##mod/lesson:edit - add and edit pages<br />
##mod/lesson:manage - view student attempts<br />
#Quiz<br />
##mod/quiz:grade - comment, override grade, manual grade<br />
##mod/quiz:preview - previews the quiz<br />
##mod/quiz:viewreports - view quiz result reports<br />
##mod/quiz:manage - add/delete/move (up or down) questions for a quiz<br />
##mod/quiz:attempt - attempt the quiz--[[User:Tim Hunt|Tim Hunt]]<br />
#Resource<br />
#Scorm<br />
##mod/scorm:viewgrades<br />
#Survey<br />
##mod/survey:download - downloads survery result<br />
##mod/survey:participate - participate/ do survey<br />
##mod/survey:readresponses - read all user's responese<br />
#Wiki<br />
##mod/wiki:participate - original student, meaning depends of type and course setting<br />
##mod/wiki:manage - original teacher, manages assigned group; moodle/site:accessallgroups is needed to manage all groups <br />
##(Waiting on new wiki)<br />
#Workshop<br />
##mod/workshop:participate - original student, allows user to submit and assess<br />
##mod/workshop:manage - original teacher, user can manage others<br />
##(Waiting on new Workshop)<br />
<br />
===Enrolment-level Capabilities===<br />
<br />
The naming convention for capabilities that are specific to enrolment is 'enrol/enrol_name:capability'. The enrolment capabilities are defined in enrol/enrol_name/db/access.php.<br />
<br />
#Authorize.net Payment Gateway <br />
##enrol/authorize:managepayments - manage user payments, capture, void, refund, delete etc.<br />
<br />
===Blocks===<br />
#activity_modules<br />
##None<br />
#admin<br />
#admin_2<br />
#admin_bookmarks<br />
#blog_menu<br />
#blog_tags<br />
#calendar_month<br />
#calendar_upcoming<br />
#course_list<br />
#course_summary<br />
#glossary_random<br />
#html<br />
#loancalc<br />
#login<br />
#messages<br />
#news_items<br />
#online_users<br />
#participants<br />
#quiz_results<br />
#recent_activity<br />
#rss_client<br />
##block/rss_client:createprivatefeeds<br />
##block/rss_client:createsharedfeeds<br />
##block/rss_client:manageownfeeds<br />
##block/rss_client:manageanyfeeds<br />
#search<br />
#search_forums<br />
#section_links<br />
#site_main_menu<br />
#social_activities<br />
<br />
===Questions===<br />
I am adding question categories here because they seem to have been forgotten in the whole scheme of things since having been removed from the quiz module itself. I've made a suggestion on how these could be handled in [http://www.moodle.org/bugs/bug.php?op=show&bugid=6118&pos= bug 6118].<br />
<br />
See [http://moodle.org/mod/forum/discuss.php?d=51143 this forum thread] for a discussion about the current problems wth publishing question categories.[[User:Tim Hunt|Tim Hunt]] 18:50, 8 August 2006 (WST)<br />
<br />
<br />
==Programming Interface==<br />
<br />
Although the Roles system may look complicated at first glance, implementing it in Moodle code is fairly simple.<br />
<br />
* You need to define each capability once, so that Moodle can upgrade existing roles to take advantage of it. You do this in an access.php inside the db folder of any module (eg see mod/forum/db/access.php). The array contains entries like this (note the descriptions for the legacy roles which provides forward compatibility):<br />
'mod/forum:viewforum' => array(<br />
'captype' => 'read',<br />
'contextlevel' => CONTEXT_MODULE,<br />
'legacy' => array(<br />
'guest' => CAP_PREVENT,<br />
'student' => CAP_ALLOW,<br />
'teacher' => CAP_ALLOW,<br />
'editingteacher' => CAP_ALLOW,<br />
'coursecreator' => CAP_ALLOW,<br />
'admin' => CAP_ALLOW<br />
)<br />
),<br />
* To load/change these capabilities you need to bump the module version. There's no need to provide changes or differences as Moodle will scan the whole array and sort it out.<br />
* On each page you need to find the context the user is working in, using the get_context_instance() function. For example, in the forum module:<br />
<br />
$context = get_context_instance(CONTEXT_MODULE, $cm->id);<br />
* Then, whenever you want to check that the current user has rights to do something, call has_capability() like this:<br />
if (!has_capability('mod/forum:viewforum', $context)) {<br />
print_error('nopermissiontoviewforum');<br />
}<br />
* If you just want to assert a capability and then finish with an error message if it's not met (as we did above), then a shorter way it to use require_capability() like this:<br />
<br />
require_capability('mod/forum:viewforum', $context);<br />
<br />
* Note that there are extra parameters you can specify to get a custom error message, otherwise users get an automated "No permissions" message that lists the permission they were missing.<br />
<br />
<br />
As a result of the new Roles System, all calls to isadmin(), iscoursecreator, isteacheredit(), isteacher(), isstudent(), and isguest() will have to be replaced with calls to has_capability() or require_capability(). However, these functions will be retained for some backward compatibility with old code, using the legacy capabilities to try and work out what to do.<br />
<br />
<br />
==Metacourses==<br />
<br />
The behaviour of metacourses in Moodle 1.7 changed slightly, in that where it used to just synch students from child courses to the parent course, it will now synch ALL roles. Teachers etc of the child courses will have the same role in the meta course. Technically metacourse synchronises all role assignments in CONTEXT_COURSE with its child courses; the only exception are users with moodle/course:managemetacourse capability, these users are synchronized only upwards, they are not unenrolled from metacourse when unenroling from child course or when removing the child from metacourse.<br />
<br />
In order to import/enrol other courses into metacoure you need to have moodle/course:managemetacourse capability. You can add manually only participants with moodle/course:managemetacourse, all other participants are automatically synced with child courses - if you try to manually enrol user without this capability error is displayed. Similar error is shown also when you try to manually unenrol participant from meta course while still being enrolled in child course.<br />
<br />
Sample setup:<br />
* metacourse manager has been assigned role with moodle/course:managemetacourse capability in system or course category context<br />
* students are enrolled in several child courses<br />
* teachers are enrolled in separate child course(s)<br />
<br />
<br />
==Problem areas we are working on ==<br />
<br />
===Student view===<br />
<br />
The "Student view" button has been removed completely.<br />
<br />
If there is time and a secure way can be found, it will be replaced by a menu to let the user assume a temporary role in the context of that course.<br />
<br />
===Teacher forum===<br />
<br />
Teacher forums were always a curious exception to normal forums, as they were not part of a course as such, and were not backed up.<br />
<br />
We're taking the opportunity to rectify this. The upgrade converts teacher forums with content to normal forums in section 0 of the course, and ensures that only teachers can access them. If the teacher forum had not been used in the course then it's not converted and will just dissappear.<br />
<br />
===Enrolment plugins===<br />
<br />
====Process of logging in====<br />
<br />
# load_user_capability() is called to load all the capabilities<br />
# check_enrolment_plugins() is called at the top of load_user_capability() to check all the enrolment plugins.<br />
# For each active plugin:<br />
##Check for setup_enrolments($user) and run it. This function will do all the processing needed to assign or unassign roles from the current user.<br />
# load_user_capability() continues and loads up all the roles<br />
# load_defaultuser_role() is called to add default site permissions (all users)<br />
<br />
====Process of checking access to a course====<br />
<br />
require_login($course->id) is called by the script and has logic like this:<br />
<br />
# Is the user a guest at site level?<br />
## Yes: Does the course allow guests?<br />
### Yes: return true (and further capabilities are checked by the script)<br />
### No: send the user to course/enrol.php for enrolment<br />
## No: continue below<br />
<br />
# Does the user have moodle/course:view in that (course) context?<br />
## Yes: then they can enter (and further capabilities are checked by the script)<br />
## No: is guest access allowed on the course?<br />
### Yes: assign temporary guest role to that user for that context (in session cache).<br />
### No: send the user to course/enrol.php for enrolment.<br />
<br />
====Process of enrolling====<br />
<br />
(more soon)<br />
<br />
==Scenario brainstorming==<br />
<br />
This section is for brainstorming some example roles that we would like to support. Note some of these *may* not be possible in 1.7.<br />
<br />
===Student===<br />
Obviously.<br />
<br />
===Site Designers===<br />
Is there a role for people involved in how the site looks but not full administrators? Thinking here of online control of themes rather than FTP theme uploading. But in either case they caneditlogos, caneditcss, candeditlevelatwhichthemeapplies.<br />
<br />
===Educational Authority Adviser===<br />
Someone who would want to browse the site and may be asked to comment or contribute to particular discussions or developments in school. Access for this role would be controlled by the school in the case of school level moodles but may be different if there were to be a Local Authority wide Moodle.<br />
<br />
===Educational Inspector===<br />
Someone who will visit the site to verify the school's self review that comments on home school relationships, extending the classroom etc. They may want to see summaries of usage and reports from surveys garnering parent and pupil views.<br />
<br />
===Second Marker / Moderator===<br />
A teacher within ths site that has access to assignments and quizzes from another teacher's course for second marking purposes. This may need additional functionality adding to the assignment module so that two sets of grades/feedback can be given to one set of assignments.<br />
<br />
===Peer observer of teaching===<br />
Many institutions encourage peer observation of teaching, to encourage reflection on practice. In online environments this will be similar to moderation or inspection. The peer observer would need to be able to experience the course "as a student", but also to be able to view summaries of usage, transcripts of interactions (forums/surveys/polls etc), grades assigned (e.g. in assignments).<br />
<br />
===External Examiner===<br />
Has all the rights of inspectors, but would also need to be able to review assignments and feedback, view forums, glossaries etc. However, would not want to post, feedback onto the site at all.<br />
<br />
===Parent===<br />
A parent will have one or more children in one or more institutions which could be using one or more moodle instances or a mixture of Learning Platforms. A parent's role will vary depending on the age of their children and whether they are contributing as a parent or a school supporter.<br />
<br />
In Early Years (EY=3+4 yr olds) and Key Stage 1 (KS1=5+6 yr olds) they may play/learn on an activity or write for the child. Parents often interpret homework tasks and read to their children perhaps filling in a joint reading diary. In Key Stage 2 (KS2=7-11 yr olds) parents would be more monitoring but may join in as well.<br />
<br />
In Key stages 3 (KS3=12-14 yr olds) and 4 (KS4=15+16 yr olds) this changes to more of a monitoring/awareness role where a parent would expect to have a summary report of attendance, attainment and general achievement on a weekly/monthly/termly or annual basis. Parents will often be asked to sign and write back comments about this review report.<br />
<br />
In all Key Stages there is a great need for parents to receive communication from the school which they can confirm they have received by signing a form. In some cases this may also involve making choices from a list. It may also involve payment for a trip or disco being returned so there could be the possibility of electronic payments. Also in all Key Satges there may be a home-school agreement which may be signed up to. Could this form part of a site policy system that incorporates a tickable list of activities the parent agrees to the child using (blogs/wikis/forums etc.)?<br />
<br />
Parent's evenings often involve complex booking systems that attempt to get parent's and teachers together. Easy for EY/KS1/KS2 very difficult for KS3/KS4. Wow would this help if it was built into the Learning Platform.<br />
<br />
In some cases there needs to be confidential communication between the parent and the teacher without the child being party to this. It may involve teaching and learning but could also involve a behaviour or medical issue. Often this may be done via a sealed letter or face to face. <br />
<br />
The latest incarnation of OfSTED with the Self Review Framework (SEF) there is a greater emphasis on schools gathering parent voice via surveys and discussion. There is a clear match here with parents have access to parental votes, questionnaires and discussions and for schools to be able to publish news, results and reports back to parents.<br />
<br />
In the UK the LP framework and agenda as being pushed by the DfES via Becta emphasises that within the mandatory groups and roles functionality the parent role is likely to be required to meet the LP Framework procurement standard.<br />
<br />
Again in the UK, parents have their own independent right of access to a child's educational records. Obviously, children's records must not be made available to other parties, including the parents of other children in the same class. Thus it would be necessary to associate parent accounts with their own child's accounts in such a way that they could, if so desired, have read access to their child's grades, answers and contributions, but generally not those of other children - this may be problematic in the case of wiki activities or forum posts.<br />
<br />
There is some concern that children's forum contributions etc may be constrained if their parents are able to read all that they write; this may be particularly problematic in areas such as Personal, Social and Health Education (PSHE), where some schools may choose to use obfuscated usernames.<br />
<br />
===Manager===<br />
''Please add text here...''<br />
<br />
===Weekly Seminar Leader===<br />
''In a university seminar, typically 8-15 students in their 3rd/4th year, each student is responsible for leading one topic in a study series. I ask each student to research 5-10 resources, then give a powerpoint presentation to the other students. This is followed by an in-class discussion and then online homework. The homework involves some fun quiz questions and then some reflective journal questions. I ask each seminar leader to prepare the quiz questions and journal questions as well as their presentation. To do that, I would like to assign activity-making/authoring roles to the student--either for a short period, or for duration of the whole course. Thus "Allow Quiz Authoring Role" or "Allow Assignment Authoring Role" at the course level or, if possible, even the Topic level (in a topic or week format course) would be important.''<br />
<br />
===Mentor/Mentee===<br />
''Please add text here...''<br />
<br />
===Community-Designed Rating Criteria===<br />
''The gradebook tends to be the domain of the teacher. What if community/peer ratings/marks could also be entered there? What if peer assessment criteria could be designed by the students, not just the teacher?''<br />
<br />
===Visitor===<br />
<br />
This would be a role whereby one could allow a visitor to visit one's classroom. This might be a colleague interested in seeing your course, or a journalist who might be writing an article about one's site. They should not be able to see the names of any students anywhere (eg recent activity, forum posts) for privacy reasons. They should be able to try out things like quizzes, and lessons but no grades would be recorded (like in teacher preview mode). They would not be able to participate in choices and forums but could view them. It would be read only in a way like former-student role below but without access to a particular student's records that former student role would grant.<br />
<br />
===Guest Speaker===<br />
<br />
This role would be similar to the Visitor role above, but would allow seeing student names, and also allow both reading and posting to a specific forum or forums. We often have "guest speakers" who read and respond to student forum posts. Right now we have to add them as students, which isn't ideal.<br />
<br />
===Former Student===<br />
This role would be of particular use for courses with rolling enrollments. This role would be one where a student had completed all of the requirements of a course (ie assignments, quizzes etc.) but wished to have continued access to the course material for review or consultation. The key factor is that one would give access to the completed student to the notes he read, his work and the teacher's comments on it, but he would not be allowed to do anything that would take up the teacher's time. In other words, a sort-of read-only access to the course. How forums, which might contain pertinent information and would continue to grow, would be handled is a question. Perhaps the student would be shown only what was in the forums at the time he completed the course. He would not be allowed to see any new posts or add any himself. Same thing for database and glossary entries. In other words, a snapshot of the course at the time his regular enrollment ended. He shouldn't be able to see the names or profiles of any newly enrolled students for privacy reasons-hence the restrictions on forum access. One issue that would have to be dealt with would be changes to existing modules-such as resources. Does the student get access to the module as it was or as it is? We have no versioning of resources in Moodle so this would be a problem. What about a teacher changing a quiz question so that the answer is different? What would a former student see?<br />
<br />
===Alumnus=== An ALUMNUS should be able to search for all other ALUMNI of the school, interact with them and be enrolled in a seperate course - which is like a META course with all the content of his learning and interaction - as well as capabilities to be a part of this ALUMNI only course. All the teachers of courses during school years should automatically be a part of the ALUMNI course .. which means when an ALUMNUS is enrolled in a course, the original teachers of all his courses get enrolled ? --[[User:Anil Sharma|Anil Sharma]] 20:54, 15 July 2006 (WST)<br />
<br />
===Librarian===<br />
<br />
Reference Librarians have an active role in most of the courses taught at some schools such as Earlham College (with Bibliographic Instruction). The Librarian role within Moodle could encompass default read access to all courses (unless prohibited by course teacher) and read access to all components of the course unless access is barred (again by teacher). The Librarians would also perhaps have a block called perhaps Reference Services or Reference Desk with write access where they could deposit resources. Also this block might have a chat applet whereby enrolled students could chat to the Reference Librarian on duty about their bibliographic research needs.<br />
<br />
In schools there is often a book review system. This may be covered by the lending system database but may not in which case a librarian may neeed to have a course area they can create a database template to handle the reviews in which case they may have a normal teacher style role? Off topic but course an integration with common schools database systems would be great.<br />
<br />
===Teacher===<br />
<br />
Teachers should have read access to other Teacher's courses unless explictly prohibited. They should be able to set parts of their own course to be totally private (perhaps even to admin?). Just as each activity can currently be set to have group access, each activity could have a permissions field. Teachers could set default permissions for all activities on their course (eg they might disallow Librarian access for example) and then change the access permission for an individual activity. <br />
<br />
I think that what is needed is a simple heirarchy of permissions and levels of granularity.<br />
<br />
I would take issue with "teachers should have read access to other teacher's courses unless explicitly prohibited." This is a violation of the students' privacy as how they perform and what they do in one class isn't the business of another teacher. Moreover, in the real world a teacher wouldn't suddenly go sit in on a colleague's class without asking permission first. I would not have appreciated such an invasion of privacy as either a teacher or a student. It could be an option, but shouldn't be default.--[[User:N Hansen|N Hansen]] 19:54, 12 June 2006 (WST)<br />
<br />
===Community Education Tutors/Trainers===<br />
Teachers may be community adult education trainers making use of a school moodle so must only have access to their courses unless given access elsewhere. They would not necessarily get the default teacher privileges.<br />
<br />
===Secretary/Student Worker===<br />
<br />
We often have faculty who want their departmental secretary or student worker to scan and upload files and perhaps create resources. Currently they have to be given teacher access to the course. This is dangerous from a FERPA standpoint since they could easily get access to grades.<br />
<br />
===Teaching Assistant===<br />
<br />
Our Faculty frequently have undergraduate students acting as Teaching Assistants. These students need to be able to add resources, create assignments, and possibly grade assignments. However, due to FERPA they cannot have access to other students' overall grade information. I think the requirements here are slightly different than those of Secretary/Student Worker<br />
<br />
===Student - FERPA rights===<br />
<br />
A student that has asserted their FERPA rights to non-disclosure. Typically includes not publishing their name<br />
in any public place. Could include this student only being seen with an "alias" within course spaces. Is this an attribute rather<br />
than a role?<br />
<br />
===Help Desk===<br />
<br />
Help desk agents that have read access for the purposes of trouble shooting. Some care in placing this role within a hierarchy<br />
of inheritance is needed, full access will be problematic with FERPA.<br />
<br />
===Admin - Catgory based===<br />
<br />
Basically a person in between full Admin and Creator that has the permissions of an Admin but only with respect to courses and students. Currently a Creator has permissions site-wide which does not always meet the requirements of a given organisation (e.g. Department A may not be happy that a person from Department B can create/modify courses within Department A's area). The ability to designate a Creator within a specific category would allow areas to be set up for a faculty/department/organisation and allow the Admin for that area to create/delete courses, upload users, add site-wide entries to the calendar etc.<br />
<br />
===Process Roles===<br />
<br />
organising the learning process for a group you wish to have the choice to place students in differnt roles: examples of this are:<br />
* Give a student the role of forum-moderator with edit and chunk-rights<br />
* Give students different roles & rights in a Webquest design (and change these roles next week<br />
* Give students different resources, depending of their roles in a rolegame/simulation<br />
* Give a student the rights to create the section content of next week (and only that week..)<br />
<br />
==Things to finish for 1.7 Beta==<br />
'''18 Sept 2006'''<br />
<br />
#Remove core references to user_student, user_teacher, user_admin, user_coursecreator tables. [Yu]<br />
#Address function: isteacher, isadmin, isstudent [Yu]<br />
#Remove "view" capabilities from all modules unless required [Vy]<br />
#Remove all old references from remaining Blocks [Vy]<br />
#Metacourses [Skodak]<br />
#Add risks to GUI[Skodak]<br />
#Enrolment plugins [Martin and Alastair]<br />
#[[Development:Stats_roles_1.7|Statistics]] [Penny]<br />
#Fix Loginas<br />
#Add category-level assigns [Yu]<br />
#[[Development:Backup_roles_1.7|Backups]] [Eloy?]<br />
<br />
===Proposal for interface enhancement===<br />
Martin asked some questions, here are my answers. The sketches below are not worked out proposals. Their task is to visualize the idea. The exact colours and functionality may be defined after possible agreement about the proposals. The Green, orange and red columns support the meaning of the options from "allow" to "prohibit" (If you may want to see larger images please click onto the image or the "Enlarge" icon below the image.)<br />
<br />
The list of possible settings is very long and '' "... the problem is not to overwhelm people with information" ''. <br />
<br />
[[Image:01_moodle_define_roles_structured.png|thumb=01_moodle_define_roles_structured_pre.png]]<br />
<br />
1) One proposal is to use colour to structure the sections and the columns. Picture 1 shows that the user can keep a much better overview when the list is divided into meaningful different coloured columns and clear sections.<br />
<br style="clear:both;" /><br />
<br />
[[Image:02_moodle_define_roles_collapsed.png|thumb=02_moodle_define_roles_collapsed_pre.png]]<br />
<br />
2) A second proposal is to reduce the amount of information the user is shown at the same time. The YUI interface library offers great support to show/hide sections of the page by clicking on specific elements. <br />
<br />
For example click on an icon beside the sub heading "Course categories" and show/hide all table rows with the CLASS "course-category".<br />
<br style="clear:both;" /><br />
<br />
[[Image:03_moodle_define_roles_tooltip.png|thumb=03_moodle_define_roles_tooltip_pre.png]]<br />
<br />
3) '' "The main problem is the last column for risk ... we were thinking of putting little icons in there ..." ''<br />
Icons are good when they tell the user more about possible actions/meanings then the letters. I am not sure if this is the case here. For both - icons or letters - the YUI tool-tip function would be able to give the user valuable information about the meaning.<br />
<br style="clear:both;" /><br />
<br />
==See also==<br />
<br />
*[[Hardening new Roles system]]<br />
*Using Moodle course:<br />
**[http://moodle.org/mod/forum/view.php?f=941 Roles and Capabilities forum]<br />
**Key discussions at Using Moodle forums:<br />
***[http://moodle.org/mod/forum/discuss.php?d=38788 Roles and Permissions architecture]<br />
***[http://moodle.org/mod/forum/discuss.php?d=56302#256313 An example of admin roles as set in the database]<br />
[[Category:Developer]]<br />
[[Category:Future]]<br />
[[Category:Roles]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Setting_up_Eclipse&diff=18757Development talk:Setting up Eclipse2006-12-20T12:05:43Z<p>SamuliK: /* Problems with Ubuntu 6.10... */</p>
<hr />
<div>Really nice work, Tim, thanks! I've been through and I'm trying it out. [[User:Martin Dougiamas|Martin Dougiamas]] 09:05, 5 September 2006 (CDT)<br />
<br />
----<br />
<br />
The stuff about changing editors under General -> Editors -> File Associations doesn't work any more if an Eclipse plugin has 'locked' a file type or content type. Not sure how to fix this<br />
--[[User:Andy Baker|Andy Baker]] 06:40, 28 November 2006 (CST)<br />
<br />
Hopefully it will be the PHP plugin, and it will have locked *.php to the setting you want anyway. If not, can you tell us exactly what you are seeing.[[User:Tim Hunt|Tim Hunt]] 04:24, 29 November 2006 (CST)<br />
<br />
== Problems with Ubuntu 6.10... ==<br />
<br />
I'd really like to switch completely to Linux and Eclipse on my Moodle developments. However, I can't get the PHPEclipse plug-in to work with Eclipse 3.2 that came with Ubuntu 6.10. After the Eclipse restart required by the "add . to the include path" tweak, the "PHPEclipse stuff" is gone from the menus (forgot what it said), and when I try to open a PHP file in Eclipse I get:<br />
"Failed to execute runnable (java.lang.NoClassDefFoundError: net.sourceforge.phpeclipse.phpeditor.PHPUnitEditor)" and "Unhandled event loop exception"... Going to Google around a bit, but there seems to be a lot of other issues with the JVM also: Eclipse crashed when I tried to search the help, for example. --[[User:Samuli Karevaara|Samuli Karevaara]] 04:07, 20 December 2006 (CST)<br />
:Just reporting that now the error message has changed to "Problems occurred when invoking code from plug-in: "org.eclipse.jface"." or I was reading the wrong part of the error log before... --[[User:Samuli Karevaara|Samuli Karevaara]] 04:11, 20 December 2006 (CST)<br />
:One headache later I was able to get Eclipse to open the PHP files. Apparently it was about the Java Runtime Environment version after all. I had "sun-java5-bin : Sun Java(TM) Runtime Environment (JRE) 5.0" package installed but it didn't help. After completely removing everything "Java 1.4" ("j2re1.4" and friends) and upgrading "libgjc" packages I got it to work. I reeeeally not a friend of Java versioning and library packaging! --[[User:Samuli Karevaara|Samuli Karevaara]] 06:05, 20 December 2006 (CST)</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Setting_up_Eclipse&diff=18751Development talk:Setting up Eclipse2006-12-20T10:11:30Z<p>SamuliK: /* Problems with Ubuntu 6.10... */</p>
<hr />
<div>Really nice work, Tim, thanks! I've been through and I'm trying it out. [[User:Martin Dougiamas|Martin Dougiamas]] 09:05, 5 September 2006 (CDT)<br />
<br />
----<br />
<br />
The stuff about changing editors under General -> Editors -> File Associations doesn't work any more if an Eclipse plugin has 'locked' a file type or content type. Not sure how to fix this<br />
--[[User:Andy Baker|Andy Baker]] 06:40, 28 November 2006 (CST)<br />
<br />
Hopefully it will be the PHP plugin, and it will have locked *.php to the setting you want anyway. If not, can you tell us exactly what you are seeing.[[User:Tim Hunt|Tim Hunt]] 04:24, 29 November 2006 (CST)<br />
<br />
== Problems with Ubuntu 6.10... ==<br />
<br />
I'd really like to switch completely to Linux and Eclipse on my Moodle developments. However, I can't get the PHPEclipse plug-in to work with Eclipse 3.2 that came with Ubuntu 6.10. After the Eclipse restart required by the "add . to the include path" tweak, the "PHPEclipse stuff" is gone from the menus (forgot what it said), and when I try to open a PHP file in Eclipse I get:<br />
"Failed to execute runnable (java.lang.NoClassDefFoundError: net.sourceforge.phpeclipse.phpeditor.PHPUnitEditor)" and "Unhandled event loop exception"... Going to Google around a bit, but there seems to be a lot of other issues with the JVM also: Eclipse crashed when I tried to search the help, for example. --[[User:Samuli Karevaara|Samuli Karevaara]] 04:07, 20 December 2006 (CST)<br />
:Just reporting that now the error message has changed to "Problems occurred when invoking code from plug-in: "org.eclipse.jface"." or I was reading the wrong part of the error log before... --[[User:Samuli Karevaara|Samuli Karevaara]] 04:11, 20 December 2006 (CST)</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Setting_up_Eclipse&diff=18750Development talk:Setting up Eclipse2006-12-20T10:07:03Z<p>SamuliK: added signature</p>
<hr />
<div>Really nice work, Tim, thanks! I've been through and I'm trying it out. [[User:Martin Dougiamas|Martin Dougiamas]] 09:05, 5 September 2006 (CDT)<br />
<br />
----<br />
<br />
The stuff about changing editors under General -> Editors -> File Associations doesn't work any more if an Eclipse plugin has 'locked' a file type or content type. Not sure how to fix this<br />
--[[User:Andy Baker|Andy Baker]] 06:40, 28 November 2006 (CST)<br />
<br />
Hopefully it will be the PHP plugin, and it will have locked *.php to the setting you want anyway. If not, can you tell us exactly what you are seeing.[[User:Tim Hunt|Tim Hunt]] 04:24, 29 November 2006 (CST)<br />
<br />
== Problems with Ubuntu 6.10... ==<br />
<br />
I'd really like to switch completely to Linux and Eclipse on my Moodle developments. However, I can't get the PHPEclipse plug-in to work with Eclipse 3.2 that came with Ubuntu 6.10. After the Eclipse restart required by the "add . to the include path" tweak, the "PHPEclipse stuff" is gone from the menus (forgot what it said), and when I try to open a PHP file in Eclipse I get:<br />
"Failed to execute runnable (java.lang.NoClassDefFoundError: net.sourceforge.phpeclipse.phpeditor.PHPUnitEditor)" and "Unhandled event loop exception"... Going to Google around a bit, but there seems to be a lot of other issues with the JVM also: Eclipse crashed when I tried to search the help, for example. --[[User:Samuli Karevaara|Samuli Karevaara]] 04:07, 20 December 2006 (CST)</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:Setting_up_Eclipse&diff=18749Development talk:Setting up Eclipse2006-12-20T10:06:42Z<p>SamuliK: Problems with Ubuntu 6.10...</p>
<hr />
<div>Really nice work, Tim, thanks! I've been through and I'm trying it out. [[User:Martin Dougiamas|Martin Dougiamas]] 09:05, 5 September 2006 (CDT)<br />
<br />
----<br />
<br />
The stuff about changing editors under General -> Editors -> File Associations doesn't work any more if an Eclipse plugin has 'locked' a file type or content type. Not sure how to fix this<br />
--[[User:Andy Baker|Andy Baker]] 06:40, 28 November 2006 (CST)<br />
<br />
Hopefully it will be the PHP plugin, and it will have locked *.php to the setting you want anyway. If not, can you tell us exactly what you are seeing.[[User:Tim Hunt|Tim Hunt]] 04:24, 29 November 2006 (CST)<br />
<br />
== Problems with Ubuntu 6.10... ==<br />
<br />
I'd really like to switch completely to Linux and Eclipse on my Moodle developments. However, I can't get the PHPEclipse plug-in to work with Eclipse 3.2 that came with Ubuntu 6.10. After the Eclipse restart required by the "add . to the include path" tweak, the "PHPEclipse stuff" is gone from the menus (forgot what it said), and when I try to open a PHP file in Eclipse I get:<br />
"Failed to execute runnable (java.lang.NoClassDefFoundError: net.sourceforge.phpeclipse.phpeditor.PHPUnitEditor)" and "Unhandled event loop exception"... Going to Google around a bit, but there seems to be a lot of other issues with the JVM also: Eclipse crashed when I tried to search the help, for example.</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development_talk:XMLDB_Modifying_the_installation/upgrade_process&diff=18716Development talk:XMLDB Modifying the installation/upgrade process2006-12-18T12:33:37Z<p>SamuliK: </p>
<hr />
<div>=== Legacy file names ===<br />
<br />
"For each directory, at least two .sql files were present, "mysql.php" and "postgres7.php", each one ready to be used depending of the DB selected (MySQL or PostgreSQL)."<br />
<br />
Should that be "mysql.sql" and "postgres7.sql" --[[User:Samuli Karevaara|Samuli Karevaara]] 06:33, 18 December 2006 (CST)</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Moodle_in_education&diff=18693Moodle in education2006-12-16T05:38:16Z<p>SamuliK: (lang)</p>
<hr />
<div>==Getting started==<br />
If you are a new user and would like a list of all teacher documentation articles, please see [[:Category:Teacher]].<br />
<br />
We are assuming that your site administrator has set up Moodle, you are a user with teacher privileges and the administrator has assigned you to a new, blank course. Don't forget, [http://demo.moodle.org/ demo.moodle.org] will let you play an hour at a time for free.<br />
<br />
You will need to be [[Log in | logged into]] the course as a user who has been assigned [[Teacher|a role as a teacher]] (with editing rights) on that course to use most of the features below. We have some tips if you are having [[Can not log in | trouble logging in]].<br />
<br />
Now onto the real details. You will find the [[Course homepage|course homepage]] is broken down into [[Course sections]]. A course is created by [[Adding resources and activities|adding resources and activities]]. When writing text in Moodle you have a range of [[Formatting options]] including using [[HTML editor|HTML in Moodle]]. There are different ways to enrol [[Students]] and assign them to one or more [[Groups]] in a course.<br />
<br />
The example below shows a new course set up with topic sections, edit is on. There are a few of Moodle's many [[Blocks|blocks]] on the right and left sides of the topics, such as "Latest News" or "Administration". The teacher is all ready to add resources and activities or a few new blocks to their brand new course.<br />
[[Image:Course edit on new 2.jpg|thumb|center|500px|Getting started image - a new course]]<br />
<br />
==Editing course section==<br />
[[Image:Turn_edit_on_Student_on_buttons.JPG]]<br><br />
To add or alter activities or resources a teacher will need to [[Turn editing on|turn editing on]] and off with a button on the course homepage. The student view button allows the teacher to get a general idea of what students will see. There is also an "editing on" link in the administration block. These buttons and links toggle between on and off. Here are some common editing icons, for more details about them [[Adding/editing_a_course#Editing_a_course|go to adding/editing a course]]. <br />
<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
|-<br />
|[[Image:Edit.gif]]|| Edit text ||[[Image:Open.gif]] || Open ||[[Image:Delete.gif]] || Delete ||[[Image:Move.gif]] ||Move<br />
|-<br />
||[[Image:All.gif]] ||See all topics||[[Image:Closed.gif]] ||Close||[[Image:Right.gif]] || Indent ||[[Image:Movehere.gif]] || Move here <br />
|-<br />
||[[Image:One.gif]] || See one topic||[[Image:Help.gif]] ||Help || || ||[[Image:Marker.gif]] ||Make Current<br />
|}<br />
<br><br />
<br />
==Activity modules==<br />
<br />
[[Image:Activity_dropdown.JPG|frame|right|Add an activity drop-down menu]] <br />
There are a number of robust interactive learning [[Modules (teacher)|activity modules]] that you may [[Adding_resources_and_activities | add to your course]].<br />
<br />
Communication and collaboration may take place using [[Chats]] and [[Forums]] for conversational activities and [[Choices]] to gain group feedback. Adding [[Wikis]] to your courses is an excellent way to allow students to work together on a project.<br />
<br />
Work can be submitted by students and marked by teachers using [[Assignments]] or [[Workshops]]. The [[Quizzes]] offer several options for automatic scoring. You can even integrate your Hot Potato quizzes by adding a [[Hotpot]] activity.<br />
<br />
[[Lessons]] and [[SCORM]] activities deliever content and offer ways of individualizing your presentation based upon a student's choices. Key words can be added to [[Glossaries]] by yourself or, if you allow it, your students.<br />
<br />
[[Surveys]] and [[Database module|Databases]] are also very powerful additions to any course.<br />
<br />
If all of that isn't enough for you then you can also add [[:Category:Modules (non-standard)|non-standard modules]] that are not part of the official Moodle release!<br />
<br />
==Resources==<br />
<br />
[[Image:Resource_pulldown_menu.JPG|frame|left|Add a resource drop-down menu]] <br />
<br />
Moodle supports a range of different [[Resources|resource types]] that allow you to include almost any kind of digital content into your courses. These can be added by using the [[Adding_resources_and_activities | add a resource]] dropdown box when editing is turned on. <br />
<br />
A [[Text page]] is a simple page written using plain text. Text pages aren't pretty, but they're a good place to put some information or instructions. If you are after more options for your new page then you should be thinking about adding a [[Web page]] and making use of Moodle's WYSIWYG editor.<br />
<br />
Of course the resource may already exist in electronic form so you may want to [[File or website link|link to an uploaded file or external website]] or simply display the complete contents of a [[Directory|directory]] in your course files and let your users pick the file themselves. If you have an [[IMS content package]] then this can be easily added to your course.<br />
<br />
Use a [[Label|label]] to embed instructions or information in the course section.<br />
<br />
==Blocks==<br />
[[Image:Block_add_dropdown_list2.JPG |thumb|150px|right|Add Block drop-down menu]] <br />
Each course homepage generally contains [[Blocks_%28teacher%29|blocks]] on the left and right with the centre column containing the course content. Blocks may be added, hidden, deleted, and moved up, down and left/right when editing is turned on. Examples of blocks can be see in the Getting Starting image above. "Latest News", "Blogs", "Upcoming Events", and "Recent Activity" are a few examples.<br />
<br />
A wide range of [[Blocks_%28teacher%29#Block_types|over 16 different block types]] can provide additional information or functionality to the learner by the teacher. The standard blocks that come with Moodle are shown on the right. There are also many [[:Category:Block (non-standard)|non-standard blocks]] developed by Moodlers that an administrator can add to this list. <br />
<br />
A teacher with editing rights will also have a course [[Administration_block|administration block]].<br />
<br />
==General advice==<br />
<br />
* Subscribe yourself to all of the [[forum]]s in your course so that you can keep in touch with your class activity. <br />
* Encourage all of the students to fill out their [[Edit profile|user profile]] (including photos) and read them all - this will help provide some context to their later writings and help you to respond in ways that are tailored to their own needs. <br />
* Keep notes to yourself in the private "Teacher's Forum" (under Administration). This is especially useful when team teaching. <br />
* Use the [[Logs]] link (under Administration) to get access to complete, raw logs. In there you'll see a link to a popup window that updates every sixty seconds and shows the last hour of activity. This is useful to keep open on your desktop all day so you can feel in touch with what's going on in the course. <br />
* Use the [[Recent_activity|Activity Reports]] (next to each name in the list of all people, or from any user profile page). These provide a great way to see what any particular person has been up to in the course.<br />
* Respond quickly to students. Don't leave it for later - do it right away. Not only is it easy to become overwhelmed with the volume that can be generated, but it's a crucial part of building and maintaining a community feel in your course.<br />
*Don't be afraid to experiment: feel free to poke around and change things. It's hard to break anything in a Moodle course, and even if you do it's usually easy to fix it. <br />
* Use the [[Navigation bar|navigation bar]] at the top of each page - this should help remind you where you are and prevent getting lost<br />
<br />
== See also ==<br />
*[[Blogs]] - blogs in Moodle<br />
*[[Teaching with Moodle]] - inspiring links<br />
*[[Teaching do's and don'ts]] - hints<br />
*[[Moodle manuals]] - a list of links to manuals and books<br />
*[[Using Moodle book]] - a real book you can reprint!<br />
*[[Teaching FAQ]] - common questions<br />
*[http://moodle.tokem.fi/mod/book/view.php?id=5116&chapterid=256 Example of a course teaching checklist], <br />
*One example of a site specific [[http://moodle.tokem.fi/mod/book/view.php?id=5116 Teacher's Moodle Manual]], done in Moodle with the book module<br />
*[[Tips and tricks]]<br />
*[[Student FAQ]] - students have questions about technology?<br />
<br />
[[Category:Teacher]]<br />
[[es:Documentación para Profesores]]<br />
[[fr:Documentation enseignant]]<br />
[[nl:Documentatie voor leraren]]<br />
[[fi:Opettajan opas]]<br />
[[ru:Учителям]]<br />
[[zh:教师文档]]<br />
[[ja:教師ドキュメント]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Moodle_in_education&diff=18692Moodle in education2006-12-16T05:37:28Z<p>SamuliK: (lang)</p>
<hr />
<div>==Getting started==<br />
If you are a new user and would like a list of all teacher documentation articles, please see [[:Category:Teacher]].<br />
<br />
We are assuming that your site administrator has set up Moodle, you are a user with teacher privileges and the administrator has assigned you to a new, blank course. Don't forget, [http://demo.moodle.org/ demo.moodle.org] will let you play an hour at a time for free.<br />
<br />
You will need to be [[Log in | logged into]] the course as a user who has been assigned [[Teacher|a role as a teacher]] (with editing rights) on that course to use most of the features below. We have some tips if you are having [[Can not log in | trouble logging in]].<br />
<br />
Now onto the real details. You will find the [[Course homepage|course homepage]] is broken down into [[Course sections]]. A course is created by [[Adding resources and activities|adding resources and activities]]. When writing text in Moodle you have a range of [[Formatting options]] including using [[HTML editor|HTML in Moodle]]. There are different ways to enrol [[Students]] and assign them to one or more [[Groups]] in a course.<br />
<br />
The example below shows a new course set up with topic sections, edit is on. There are a few of Moodle's many [[Blocks|blocks]] on the right and left sides of the topics, such as "Latest News" or "Administration". The teacher is all ready to add resources and activities or a few new blocks to their brand new course.<br />
[[Image:Course edit on new 2.jpg|thumb|center|500px|Getting started image - a new course]]<br />
<br />
==Editing course section==<br />
[[Image:Turn_edit_on_Student_on_buttons.JPG]]<br><br />
To add or alter activities or resources a teacher will need to [[Turn editing on|turn editing on]] and off with a button on the course homepage. The student view button allows the teacher to get a general idea of what students will see. There is also an "editing on" link in the administration block. These buttons and links toggle between on and off. Here are some common editing icons, for more details about them [[Adding/editing_a_course#Editing_a_course|go to adding/editing a course]]. <br />
<br />
{| border="1" cellpadding="2" cellspacing="0"<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
!width="30"|Icon<br />
!width="100"|Effect<br />
|-<br />
|[[Image:Edit.gif]]|| Edit text ||[[Image:Open.gif]] || Open ||[[Image:Delete.gif]] || Delete ||[[Image:Move.gif]] ||Move<br />
|-<br />
||[[Image:All.gif]] ||See all topics||[[Image:Closed.gif]] ||Close||[[Image:Right.gif]] || Indent ||[[Image:Movehere.gif]] || Move here <br />
|-<br />
||[[Image:One.gif]] || See one topic||[[Image:Help.gif]] ||Help || || ||[[Image:Marker.gif]] ||Make Current<br />
|}<br />
<br><br />
<br />
==Activity modules==<br />
<br />
[[Image:Activity_dropdown.JPG|frame|right|Add an activity drop-down menu]] <br />
There are a number of robust interactive learning [[Modules (teacher)|activity modules]] that you may [[Adding_resources_and_activities | add to your course]].<br />
<br />
Communication and collaboration may take place using [[Chats]] and [[Forums]] for conversational activities and [[Choices]] to gain group feedback. Adding [[Wikis]] to your courses is an excellent way to allow students to work together on a project.<br />
<br />
Work can be submitted by students and marked by teachers using [[Assignments]] or [[Workshops]]. The [[Quizzes]] offer several options for automatic scoring. You can even integrate your Hot Potato quizzes by adding a [[Hotpot]] activity.<br />
<br />
[[Lessons]] and [[SCORM]] activities deliever content and offer ways of individualizing your presentation based upon a student's choices. Key words can be added to [[Glossaries]] by yourself or, if you allow it, your students.<br />
<br />
[[Surveys]] and [[Database module|Databases]] are also very powerful additions to any course.<br />
<br />
If all of that isn't enough for you then you can also add [[:Category:Modules (non-standard)|non-standard modules]] that are not part of the official Moodle release!<br />
<br />
==Resources==<br />
<br />
[[Image:Resource_pulldown_menu.JPG|frame|left|Add a resource drop-down menu]] <br />
<br />
Moodle supports a range of different [[Resources|resource types]] that allow you to include almost any kind of digital content into your courses. These can be added by using the [[Adding_resources_and_activities | add a resource]] dropdown box when editing is turned on. <br />
<br />
A [[Text page]] is a simple page written using plain text. Text pages aren't pretty, but they're a good place to put some information or instructions. If you are after more options for your new page then you should be thinking about adding a [[Web page]] and making use of Moodle's WYSIWYG editor.<br />
<br />
Of course the resource may already exist in electronic form so you may want to [[File or website link|link to an uploaded file or external website]] or simply display the complete contents of a [[Directory|directory]] in your course files and let your users pick the file themselves. If you have an [[IMS content package]] then this can be easily added to your course.<br />
<br />
Use a [[Label|label]] to embed instructions or information in the course section.<br />
<br />
==Blocks==<br />
[[Image:Block_add_dropdown_list2.JPG |thumb|150px|right|Add Block drop-down menu]] <br />
Each course homepage generally contains [[Blocks_%28teacher%29|blocks]] on the left and right with the centre column containing the course content. Blocks may be added, hidden, deleted, and moved up, down and left/right when editing is turned on. Examples of blocks can be see in the Getting Starting image above. "Latest News", "Blogs", "Upcoming Events", and "Recent Activity" are a few examples.<br />
<br />
A wide range of [[Blocks_%28teacher%29#Block_types|over 16 different block types]] can provide additional information or functionality to the learner by the teacher. The standard blocks that come with Moodle are shown on the right. There are also many [[:Category:Block (non-standard)|non-standard blocks]] developed by Moodlers that an administrator can add to this list. <br />
<br />
A teacher with editing rights will also have a course [[Administration_block|administration block]].<br />
<br />
==General advice==<br />
<br />
* Subscribe yourself to all of the [[forum]]s in your course so that you can keep in touch with your class activity. <br />
* Encourage all of the students to fill out their [[Edit profile|user profile]] (including photos) and read them all - this will help provide some context to their later writings and help you to respond in ways that are tailored to their own needs. <br />
* Keep notes to yourself in the private "Teacher's Forum" (under Administration). This is especially useful when team teaching. <br />
* Use the [[Logs]] link (under Administration) to get access to complete, raw logs. In there you'll see a link to a popup window that updates every sixty seconds and shows the last hour of activity. This is useful to keep open on your desktop all day so you can feel in touch with what's going on in the course. <br />
* Use the [[Recent_activity|Activity Reports]] (next to each name in the list of all people, or from any user profile page). These provide a great way to see what any particular person has been up to in the course.<br />
* Respond quickly to students. Don't leave it for later - do it right away. Not only is it easy to become overwhelmed with the volume that can be generated, but it's a crucial part of building and maintaining a community feel in your course.<br />
*Don't be afraid to experiment: feel free to poke around and change things. It's hard to break anything in a Moodle course, and even if you do it's usually easy to fix it. <br />
* Use the [[Navigation bar|navigation bar]] at the top of each page - this should help remind you where you are and prevent getting lost<br />
<br />
== See also ==<br />
*[[Blogs]] - blogs in Moodle<br />
*[[Teaching with Moodle]] - inspiring links<br />
*[[Teaching do's and don'ts]] - hints<br />
*[[Moodle manuals]] - a list of links to manuals and books<br />
*[[Using Moodle book]] - a real book you can reprint!<br />
*[[Teaching FAQ]] - common questions<br />
*[http://moodle.tokem.fi/mod/book/view.php?id=5116&chapterid=256 Example of a course teaching checklist], <br />
*One example of a site specific [[http://moodle.tokem.fi/mod/book/view.php?id=5116 Teacher's Moodle Manual]], done in Moodle with the book module<br />
*[[Tips and tricks]]<br />
*[[Student FAQ]] - students have questions about technology?<br />
<br />
[[Category:Teacher]]<br />
[[es:Documentación para Profesores]]<br />
[[fi:Opettajan opas]]<br />
[[fr:Documentation enseignant]]<br />
[[nl:Documentatie voor leraren]]<br />
[[ru:Учителям]]<br />
[[zh:教师文档]]<br />
[[ja:教師ドキュメント]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Development:Unmerged_files&diff=17962Development:Unmerged files2006-11-15T08:44:14Z<p>SamuliK: Fixed a link</p>
<hr />
<div>==Files with MOODLE_15_MERGED tag not updated - Tue Nov 14 17:43:10 CET 2006 ==<br />
<br />
RCS file: /cvsroot/moodle/moodle/lang/en/docs/Attic/release.html,v <br />
< $Id: release.html,v 1.83.2.18 2006/02/06 09:59:38 moodler Exp $<br />
> $Id: release.html,v 1.83.2.20 2006/05/21 07:59:15 moodler Exp $<br />
<br />
RCS file: /cvsroot/moodle/moodle/lib/editor/Attic/htmlarea.php,v <br />
< // $Id: htmlarea.php,v 1.60.2.9 2006/01/25 23:41:11 julmis Exp $ <br />
> // $Id: htmlarea.php,v 1.60.2.10 2006/05/14 09:22:24 urs_hunkler Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/README.TXT,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/lib.php,v <br />
< <?PHP // $Id: lib.php,v 1.6.2.6 2006/05/02 05:57:13 moodler Exp $ <br />
> <?PHP // $Id: lib.php,v 1.6.2.7 2006/08/31 21:36:32 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/report.php,v <br />
< <?PHP // $Id: report.php,v 1.1.2.2 2006/08/10 15:51:48 skodak Exp $ <br />
> <?PHP // $Id: report.php,v 1.1.2.3 2006/08/29 06:34:23 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/report/fullstat/report.php,v <br />
< <?php // $Id: report.php,v 1.1.2.1 2005/12/06 03:41:22 gbateson Exp $ <br />
> <?php // $Id: report.php,v 1.1.2.2 2006/08/29 08:26:24 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/report/overview/report.php,v <br />
< <?php // $Id: report.php,v 1.1.2.1 2005/12/06 03:41:22 gbateson Exp $ <br />
> <?php // $Id: report.php,v 1.1.2.2 2006/08/29 08:26:24 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/report/simplestat/report.php,v <br />
< <?php // $Id: report.php,v 1.1.2.1 2005/12/06 03:41:22 gbateson Exp $ <br />
> <?php // $Id: report.php,v 1.1.2.2 2006/08/29 08:26:24 gbateson Exp $<br />
<br />
==Files with MOODLE_16_MERGED tag not updated - Tue Nov 14 21:12:39 CET 2006 ==<br />
<br />
RCS file: /cvsroot/moodle/moodle/tags,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/admin/Attic/utfdbmigrate.php,v <br />
< <?php //$Id: utfdbmigrate.php,v 1.47.2.12 2006/07/29 09:43:36 skodak Exp $ <br />
> <?php //$Id: utfdbmigrate.php,v 1.47.2.13 2006/09/29 03:16:51 toyomoyo Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/blog/header.php,v <br />
< <?php //$Id: header.php,v 1.19.2.3 2006/06/18 07:44:21 moodler Exp $ <br />
> <?php //$Id: header.php,v 1.19.2.4 2006/11/02 03:19:37 moodler Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/blog/lib.php,v <br />
< <?php //$Id: lib.php,v 1.38.2.2 2006/10/07 16:34:20 gustav_delius Exp $ <br />
> <?php //$Id: lib.php,v 1.38.2.3 2006/11/02 05:52:48 moodler Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/grade/index.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/hotpot.php,v <br />
< <?PHP // $Id: hotpot.php,v 1.1.2.1 2006/05/24 11:22:07 gbateson Exp $ <br />
> <?PHP // $Id: hotpot.php,v 1.1.2.3 2006/10/05 06:21:26 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/help/hotpot/reportcontent.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/data/backuplib.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/data/restorelib.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/hotpot-full.js,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/index.php,v <br />
< <?PHP // $Id: index.php,v 1.5 2005/11/08 07:48:10 gbateson Exp $ <br />
> <?PHP // $Id: index.php,v 1.5.4.3 2006/10/02 00:30:32 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/lib.php,v <br />
< <?PHP // $Id: lib.php,v 1.47.2.2 2006/09/13 08:17:50 gbateson Exp $ <br />
> <?PHP // $Id: lib.php,v 1.47.2.4 2006/10/01 06:22:12 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/mod.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/report.php,v <br />
< <?PHP // $Id: report.php,v 1.8.2.1 2006/08/10 15:30:56 skodak Exp $ <br />
> <?PHP // $Id: report.php,v 1.8.2.8 2006/10/11 01:41:26 gbateson Exp $<br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/restorelib.php,v <br />
< <?PHP //$Id: restorelib.php,v 1.11.2.3 2006/09/01 03:58:09 gbateson Exp $ <br />
> <?PHP //$Id: restorelib.php,v 1.11.2.4 2006/10/05 07:12:15 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/show.php,v <br />
< <?php // $Id: show.php,v 1.9 2006/03/07 21:46:30 skodak Exp $ <br />
> <?php // $Id: show.php,v 1.9.2.1 2006/09/28 12:41:49 gbateson Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/db/mysql.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/template/v6.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/quiz/db/postgres7.php,v <br />
< <?php // $Id: postgres7.php,v 1.93.2.5 2006/07/18 10:58:40 tjhunt Exp $ <br />
> <?php // $Id: postgres7.php,v 1.93.2.6 2006/07/31 05:38:21 martinlanghoff Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/config.php,v <br />
< <?PHP // $Id: config.php,v 1.4 2006/04/29 19:46:41 gustav_delius Exp $ <br />
> <?PHP // $Id: config.php,v 1.4.2.1 2006/11/02 18:10:14 watcanz Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/header.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/styles_color.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/styles_fonts.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/styles_layout.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/images/logo.jpg,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/images/logo.psd,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/standard/styles_layout.css,v<br />
<br />
==Files with MOODLE_17_MERGED tag not updated - Tue Nov 14 21:15:53 CET 2006 ==<br />
<br />
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/admin.php,v <br />
< <?PHP // $Id: admin.php,v 1.55.2.15 2006/11/07 09:29:06 moodler Exp $ <br />
> <?PHP // $Id: admin.php,v 1.55.2.16 2006/11/08 00:03:43 koenr Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/help/permissions.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/lib/adminlib.php,v <br />
< * @version $Id: adminlib.php,v 1.82.2.12 2006/11/06 12:46:20 moodler Exp $ <br />
> * @version $Id: adminlib.php,v 1.82.2.13 2006/11/08 02:41:58 toyomoyo Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/lib/moodlelib.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/lib/weblib.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/forum/post.php,v <br />
< <?php // $Id: post.php,v 1.112.2.8 2006/10/26 14:12:40 sam_marshall Exp $ <br />
> <?php // $Id: post.php,v 1.112.2.10 2006/11/13 06:02:49 vyshane Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/hotpot/template/v6.php,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/journal/db/mysql.php,v <br />
< <?php // $Id: mysql.php,v 1.17 2006/11/07 00:09:37 mjollnir_ Exp $ <br />
> <?php // $Id: mysql.php,v 1.15.2.2 2006/11/07 00:09:18 mjollnir_ Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/journal/db/postgres7.php,v <br />
< <?php // $Id: postgres7.php,v 1.13 2006/11/07 00:09:37 mjollnir_ Exp $ <br />
> <?php // $Id: postgres7.php,v 1.11.2.2 2006/11/07 00:09:18 mjollnir_ Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/journal/db/upgrade.php,v <br />
< <?php //$Id: upgrade.php,v 1.1 2006/10/26 17:33:42 stronk7 Exp $ <br />
> <?php //$Id: upgrade.php,v 1.1.2.2 2006/10/26 17:43:07 stronk7 Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/mod/lesson/action/continue.php,v <br />
< <?php // $Id: continue.php,v 1.33 2006/09/30 19:49:41 mark-nielsen Exp $ <br />
> <?php // $Id: continue.php,v 1.33.2.1 2006/10/30 11:00:39 sam_marshall Exp $ <br />
< * @version $Id: continue.php,v 1.33 2006/09/30 19:49:41 mark-nielsen Exp $ <br />
> * @version $Id: continue.php,v 1.33.2.1 2006/10/30 11:00:39 sam_marshall Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/chameleon/user_styles.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/chameleon/pix/i/key.gif,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/README.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/config.php,v <br />
< <?PHP // $Id: config.php,v 1.4 2006/04/29 19:46:41 gustav_delius Exp $ <br />
> <?PHP // $Id: config.php,v 1.4.8.1 2006/11/07 13:49:18 watcanz Exp $ <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/docstyles.php,v <br />
< <?PHP /* $Id: docstyles.php,v 1.5 2006/05/23 09:16:17 skodak Exp $ */ <br />
> <?PHP /* $Id: docstyles.php,v 1.5.4.1 2006/11/07 13:49:18 watcanz Exp $ */ <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/footer.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/header.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/styles_color.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/styles_fonts.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/styles_layout.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/images/logo.jpg,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/cornflower/images/logo.psd,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/metal/gradients.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/metal/header.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/orangewhite/styles_color.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/orangewhite/styles_fonts.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/orangewhite/styles_layout.css,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/standardblue/header.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/standardgreen/header.html,v <br />
<br />
RCS file: /cvsroot/moodle/moodle/theme/standardred/header.html,v<br />
<br />
==To generate this information yourself==<br />
<br />
Run the following commandline at the top level of your CVS sandbox:<br />
<br />
cvs diff -r MOODLE_16_MERGED -r MOODLE_16_STABLE | egrep '^(RCS|[<>] <\?[Pp][Hh][Pp] \/\/ \$Id)' > unmergedfiles.txt; cat unmergedfiles.txt<br />
<br />
==Some useful links==<br />
<br />
* [[:en:Development:CVS for developers|Moodle CVS for developers]]: explains how to work with the Moodle code in CVS.<br />
* [http://moodle.org/mod/forum/discuss.php?d=43267 Review Unmerged files, please...] discussion from moodle.org forums.<br />
<br />
[[Category:Developer]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Blocks&diff=17849Blocks2006-11-08T04:40:55Z<p>SamuliK: Cleaning up some unnecessary <br>s used to cope with image floats.</p>
<hr />
<div>[[Image:Course edit on new 4.JPG|thumb|350px|right|Example shows blocks on left and right on a new empty course homepage]]This page is for teachers who are learning about a course feature called blocks. <br />
<br />
The [[course/view|course homepage]] generally contains '''blocks''' on the left and right of the centre column. For example in the upper right is the "Latest News" block and in the upper left is the "People" block.<br />
__TOC__<br />
<br clear="all" /><br />
<br />
==Adding blocks==<br />
Teachers in a course may add blocks. In the above image the "Add Block" block is in the lower right. Here the dropdown list showing standard blocks in Moodle 1.6 plus a non-standard "Verify Certificate" block.<br />
[[Image:Block_add_dropdown_list.JPG|thumb|150px|none|Add block list in 1.6]]<br />
<br />
==Block types==<br />
Here is a list of different types of blocks and links with more infomation<br />
*[[Activities block|Activities]]<br />
*[[Administration block|Administration]]<br />
*[[Blogs|Blogs - Tags and Menu]] (1.6)<br />
*[[Calendar block|Calendar]]<br />
*[[Courses block|Courses]]<br />
*[[Course/Site Description block|Course/Site Description]]<br />
*[[HTML block|HTML]]<br />
*[[Latest News block|Latest News]]<br />
*[[Loan Calculator block|Loan Calculator]] (1.6)<br />
*[[Messages block|Messages]]<br />
*[[Online Users block|Online Users]]<br />
*[[People block|People]]<br />
*[[Quiz Results block|Quiz Results]]<br />
*[[Random Glossary Entry block|Random Glossary Entry]]<br />
*[[Recent Activity block|Recent Activity]]<br />
*[[RSS feeds block|RSS feeds]]<br />
*[[Search Forums block|Search Forums]]<br />
*[[Section Links block|Section Links]]<br />
*[[Upcoming Events block|Upcoming Events]]<br />
<br />
==Block arrangement==<br />
Blocks may be added, hidden, deleted, and moved up, down and left/right when editing is turned on.<br />
[[Image:Block_People.JPG |thumb|200px|none|People Block - with the editing icons showing]]<br />
<br />
==See also==<br />
<br />
* [[Blocks (administrator)]]<br />
<br />
[[Category:Teacher]]<br />
[[Category:Block]]<br />
<br />
[[fr:Blocs (enseignant)]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Blocks&diff=17848Blocks2006-11-08T04:32:10Z<p>SamuliK: /* Adding blocks */</p>
<hr />
<div>[[Image:Course edit on new 4.JPG|thumb|350px|right|Example shows blocks on left and right on a new empty course homepage]]This page is for teachers who are learning about a course feature called blocks. <br />
<br />
The [[course/view|course homepage]] generally contains '''blocks''' on the left and right of the centre column. For example in the upper right is the "Latest News" block and in the upper left is the "People" block.<br />
<br><br><br><br><br />
==Adding blocks==<br />
Teachers in a course may add blocks. In the above image the "Add Block" block is in the lower right. Here the dropdown list showing standard blocks in Moodle 1.6 plus a non-standard "Verify Certificate" block.<br />
[[Image:Block_add_dropdown_list.JPG|thumb|150px||Add block list in 1.6]]<br />
<br />
==Block types==<br />
Here is a list of different types of blocks and links with more infomation<br />
*[[Activities block|Activities]]<br />
*[[Administration block|Administration]]<br />
*[[Blogs|Blogs - Tags and Menu]] (1.6)<br />
*[[Calendar block|Calendar]]<br />
*[[Courses block|Courses]]<br />
*[[Course/Site Description block|Course/Site Description]]<br />
*[[HTML block|HTML]]<br />
*[[Latest News block|Latest News]]<br />
*[[Loan Calculator block|Loan Calculator]] (1.6)<br />
*[[Messages block|Messages]]<br />
*[[Online Users block|Online Users]]<br />
*[[People block|People]]<br />
*[[Quiz Results block|Quiz Results]]<br />
*[[Random Glossary Entry block|Random Glossary Entry]]<br />
*[[Recent Activity block|Recent Activity]]<br />
*[[RSS feeds block|RSS feeds]]<br />
*[[Search Forums block|Search Forums]]<br />
*[[Section Links block|Section Links]]<br />
*[[Upcoming Events block|Upcoming Events]]<br />
<br />
==Block arrangement==<br />
Blocks may be added, hidden, deleted, and moved up, down and left/right when editing is turned on.<br />
[[Image:Block_People.JPG |thumb|200px|left|People Block - with the editing icons showing]]<br />
<br><br><br><br> <br><br><br><br><br><br />
<br />
==See also==<br />
<br />
* [[Blocks (administrator)]]<br />
<br />
[[Category:Teacher]]<br />
[[Category:Block]]<br />
<br />
[[fr:Blocs (enseignant)]]</div>SamuliKhttps://docs.moodle.org/33/en/index.php?title=Blocks&diff=17847Blocks2006-11-08T04:31:52Z<p>SamuliK: /* Adding blocks */ (left, right, details schetails :-)</p>
<hr />
<div>[[Image:Course edit on new 4.JPG|thumb|350px|right|Example shows blocks on left and right on a new empty course homepage]]This page is for teachers who are learning about a course feature called blocks. <br />
<br />
The [[course/view|course homepage]] generally contains '''blocks''' on the left and right of the centre column. For example in the upper right is the "Latest News" block and in the upper left is the "People" block.<br />
<br><br><br><br><br />
==Adding blocks==<br />
Teachers in a course may add blocks. In the above image the "Add Block" block is in the lower right. Here the dropdown list showing standard blocks in Moodle 1.6 plus a non-standard "Verify Certificate" block.<br />
[[Image:Block_add_dropdown_list.JPG|thumb|150px|left|Add block list in 1.6]]<br />
<br />
==Block types==<br />
Here is a list of different types of blocks and links with more infomation<br />
*[[Activities block|Activities]]<br />
*[[Administration block|Administration]]<br />
*[[Blogs|Blogs - Tags and Menu]] (1.6)<br />
*[[Calendar block|Calendar]]<br />
*[[Courses block|Courses]]<br />
*[[Course/Site Description block|Course/Site Description]]<br />
*[[HTML block|HTML]]<br />
*[[Latest News block|Latest News]]<br />
*[[Loan Calculator block|Loan Calculator]] (1.6)<br />
*[[Messages block|Messages]]<br />
*[[Online Users block|Online Users]]<br />
*[[People block|People]]<br />
*[[Quiz Results block|Quiz Results]]<br />
*[[Random Glossary Entry block|Random Glossary Entry]]<br />
*[[Recent Activity block|Recent Activity]]<br />
*[[RSS feeds block|RSS feeds]]<br />
*[[Search Forums block|Search Forums]]<br />
*[[Section Links block|Section Links]]<br />
*[[Upcoming Events block|Upcoming Events]]<br />
<br />
==Block arrangement==<br />
Blocks may be added, hidden, deleted, and moved up, down and left/right when editing is turned on.<br />
[[Image:Block_People.JPG |thumb|200px|left|People Block - with the editing icons showing]]<br />
<br><br><br><br> <br><br><br><br><br><br />
<br />
==See also==<br />
<br />
* [[Blocks (administrator)]]<br />
<br />
[[Category:Teacher]]<br />
[[Category:Block]]<br />
<br />
[[fr:Blocs (enseignant)]]</div>SamuliK