<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/24/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joeythibault</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/24/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Joeythibault"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/Special:Contributions/Joeythibault"/>
	<updated>2026-05-20T22:32:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=ad-hoc_contributed_reports&amp;diff=104145</id>
		<title>ad-hoc contributed reports</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=ad-hoc_contributed_reports&amp;diff=104145"/>
		<updated>2013-04-24T19:57:04Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Sitewide reports}}&lt;br /&gt;
==User and Role Report==&lt;br /&gt;
===Detailed ACTIONs for each ROLE (TEACHER,NONE-EDITING TEACHER and STUDENT)===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT r.name,l.action, count( l.userid ) as counter&lt;br /&gt;
FROM `prefix_log` as l&lt;br /&gt;
JOIN `prefix_role_assignments` AS ra on l.userid = ra.userid&lt;br /&gt;
JOIN prefix_role AS r ON ra.roleid = r.id&lt;br /&gt;
WHERE ra.roleid IN (3,4,5)&lt;br /&gt;
GROUP BY roleid,l.action&lt;br /&gt;
ORDER BY counter desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Student (user) COUNT in each Course===&lt;br /&gt;
Including (optional) filter by: year (if included in course fullname).&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,course.id,&#039;&amp;quot;&amp;gt;&#039;,course.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/user/index.php?contextid=&#039;,context.id,&#039;&amp;quot;&amp;gt;Show users&amp;lt;/a&amp;gt;&#039;) AS Users&lt;br /&gt;
, COUNT(course.id) AS Students&lt;br /&gt;
FROM prefix_role_assignments AS asg&lt;br /&gt;
JOIN prefix_context AS context ON asg.contextid = context.id AND context.contextlevel = 50&lt;br /&gt;
JOIN prefix_user AS user ON user.id = asg.userid&lt;br /&gt;
JOIN prefix_course AS course ON context.instanceid = course.id&lt;br /&gt;
WHERE asg.roleid = 5 &lt;br /&gt;
# AND course.fullname LIKE &#039;%2013%&#039;&lt;br /&gt;
GROUP BY course.id&lt;br /&gt;
ORDER BY COUNT(course.id) DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LIST of all site USERS by COURSE enrollment (Moodle 1.9.x)===&lt;br /&gt;
&lt;br /&gt;
Reports a site global list of all users enroled in each course&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
user.firstname AS Firstname,&lt;br /&gt;
user.lastname AS Lastname,&lt;br /&gt;
user.email AS Email,&lt;br /&gt;
user.city AS City,&lt;br /&gt;
course.fullname AS Course&lt;br /&gt;
,(SELECT name FROM prefix_role WHERE id=asg.roleid)&lt;br /&gt;
FROM&lt;br /&gt;
prefix_user AS user,&lt;br /&gt;
prefix_course AS course,&lt;br /&gt;
prefix_role_assignments AS asg&lt;br /&gt;
INNER JOIN prefix_context AS context ON asg.contextid=context.id   &lt;br /&gt;
WHERE&lt;br /&gt;
context.contextlevel = 50&lt;br /&gt;
AND&lt;br /&gt;
user.id=asg.userid&lt;br /&gt;
AND&lt;br /&gt;
context.instanceid=course.id&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LIST of all site USERS by COURSE enrollment (Moodle 2.x)===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
user2.firstname AS Firstname,&lt;br /&gt;
user2.lastname AS Lastname,&lt;br /&gt;
user2.email AS Email,&lt;br /&gt;
user2.city AS City,&lt;br /&gt;
course.fullname AS Course&lt;br /&gt;
,(SELECT shortname FROM prefix_role WHERE id=en.roleid) as Role&lt;br /&gt;
,(SELECT name FROM prefix_role WHERE id=en.roleid) as RoleName&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course as course &lt;br /&gt;
JOIN prefix_enrol AS en ON en.courseid = course.id&lt;br /&gt;
JOIN prefix_user_enrolments AS ue ON ue.enrolid = en.id&lt;br /&gt;
JOIN prefix_user AS user2 ON ue.userid = user2.id&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Enrolled users,which did not login into the Course, even once (Moodle 2)===&lt;br /&gt;
Designed forMoodle 2 table structure and uses special plugin filter : %%FILTER_SEARCHTEXT:table.field%%&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
user2.id as ID,&lt;br /&gt;
ul.timeaccess,&lt;br /&gt;
user2.firstname AS Firstname,&lt;br /&gt;
user2.lastname AS Lastname,&lt;br /&gt;
user2.email AS Email,&lt;br /&gt;
user2.city AS City,&lt;br /&gt;
user2.idnumber AS IDNumber,&lt;br /&gt;
user2.phone1 AS Phone,&lt;br /&gt;
user2.institution AS Institution,&lt;br /&gt;
&lt;br /&gt;
IF (user2.lastaccess = 0,&#039;never&#039;,&lt;br /&gt;
DATE_FORMAT(FROM_UNIXTIME(user2.lastaccess),&#039;%Y-%m-%d&#039;)) AS dLastAccess&lt;br /&gt;
&lt;br /&gt;
,(SELECT DATE_FORMAT(FROM_UNIXTIME(timeaccess),&#039;%Y-%m-%d&#039;) FROM prefix_user_lastaccess WHERE userid=user2.id and courseid=c.id) as CourseLastAccess&lt;br /&gt;
&lt;br /&gt;
,(SELECT r.name&lt;br /&gt;
FROM  prefix_user_enrolments AS uenrol&lt;br /&gt;
JOIN prefix_enrol AS e ON e.id = uenrol.enrolid&lt;br /&gt;
JOIN prefix_role AS r ON e.id = r.id&lt;br /&gt;
WHERE uenrol.userid=user2.id and e.courseid = c.id) AS RoleName&lt;br /&gt;
&lt;br /&gt;
FROM prefix_user_enrolments as ue&lt;br /&gt;
JOIN prefix_enrol as e on e.id = ue.enrolid&lt;br /&gt;
JOIN prefix_course as c ON c.id = e.courseid&lt;br /&gt;
JOIN prefix_user as user2 ON user2 .id = ue.userid&lt;br /&gt;
LEFT JOIN prefix_user_lastaccess as ul on ul.userid = user2.id&lt;br /&gt;
WHERE c.id=16 AND ul.timeaccess IS NULL&lt;br /&gt;
%%FILTER_SEARCHTEXT:user2.firstname%%&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Permissions Overides on Categories===&lt;br /&gt;
(By: [http://moodle.org/mod/forum/discuss.php?d=153059#p712834 Séverin Terrier] )&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT rc.id, ct.instanceid, ccat.name, rc.roleid, rc.capability, rc.permission, &lt;br /&gt;
DATE_FORMAT( FROM_UNIXTIME( rc.timemodified ) , &#039;%Y-%m-%d&#039; ) AS timemodified, rc.modifierid, ct.instanceid, ct.path, ct.depth&lt;br /&gt;
FROM `prefix_role_capabilities` AS rc&lt;br /&gt;
INNER JOIN `prefix_context` AS ct ON rc.contextid = ct.id&lt;br /&gt;
INNER JOIN `prefix_course_categories` AS ccat ON ccat.id = ct.instanceid&lt;br /&gt;
AND `contextlevel` =40&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Lists &amp;quot;Totally Opened Courses&amp;quot; (visible, opened to guests, with no password)===&lt;br /&gt;
(By: [http://moodle.org/mod/forum/discuss.php?d=153059#p712837 Séverin Terrier] )&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT id , category , fullname , shortname , enrollable&lt;br /&gt;
FROM `prefix_course`&lt;br /&gt;
WHERE `guest` =1&lt;br /&gt;
AND `password` = &amp;quot;&amp;quot;&lt;br /&gt;
AND `visible` =1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Lists &amp;quot;loggedin users&amp;quot; from the last 120 days===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT id,username,FROM_UNIXTIME(`lastlogin`) as days &lt;br /&gt;
FROM `prefix_user` &lt;br /&gt;
WHERE DATEDIFF( NOW(),FROM_UNIXTIME(`lastlogin`) ) &amp;lt; 120&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;and user count for that same population:&#039;&#039;&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(id) as Users  FROM `prefix_user` &lt;br /&gt;
WHERE DATEDIFF( NOW(),FROM_UNIXTIME(`lastlogin`) ) &amp;lt; 120&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Lists the users who have only logged into the site once===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT id, username, firstname, lastname, idnumber&lt;br /&gt;
FROM prefix_user&lt;br /&gt;
WHERE prefix_user.deleted = 0&lt;br /&gt;
AND prefix_user.lastlogin = 0 &lt;br /&gt;
AND prefix_user.lastaccess &amp;gt; 0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Students in all courses of some institute===&lt;br /&gt;
What is the status (deleted or not) of all Students (roleid = 5) in all courses of some Institute&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT c.id, c.fullname, u.firstname, u.lastname, u.deleted&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
JOIN prefix_context AS ctx ON c.id = ctx.instanceid&lt;br /&gt;
JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid =5&lt;br /&gt;
AND ctx.instanceid = c.id&lt;br /&gt;
AND u.institution = &#039;please enter school name here&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full User info (for deleted users)===&lt;br /&gt;
Including extra custom profile fields (from mdl_user_info_data)&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM prefix_user as u &lt;br /&gt;
JOIN prefix_user_info_data as uid ON uid.userid = u.id &lt;br /&gt;
JOIN prefix_user_info_field as uif ON (uid.fieldid = uif.id AND uif.shortname = &#039;class&#039;)&lt;br /&gt;
WHERE `deleted` = &amp;quot;1&amp;quot; and `institution`=&amp;quot;your school name&amp;quot; and `department` = &amp;quot;your department&amp;quot; and `data` = &amp;quot;class level and number&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===User&#039;s courses===&lt;br /&gt;
change &amp;quot;u.id = 2&amp;quot; with a new user id&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT u.firstname, u.lastname, c.id, c.fullname&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
JOIN prefix_context AS ctx ON c.id = ctx.instanceid&lt;br /&gt;
JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE u.id = 2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Special Roles===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT ra.roleid,r.name&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/user.php?id=1&amp;amp;user=&#039;,ra.userid,&#039;&amp;quot;&amp;gt;&#039;,u.firstname ,&#039; &#039;,u.lastname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Username&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_role AS r ON r.id = ra.roleid&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
JOIN prefix_context AS ctx ON (ctx.id = ra.contextid AND ctx.contextlevel = 50)&lt;br /&gt;
JOIN prefix_course AS c ON ctx.instanceid = c.id&lt;br /&gt;
WHERE ra.roleid &amp;gt; 6&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Courses without Teachers===&lt;br /&gt;
Actually, shows the number of Teachers in a course.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as Course&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id) AS Teachers&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
ORDER BY Teachers ASC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List of users who have been enrolled for more than 4 weeks===&lt;br /&gt;
For Moodle 2.2 , by  Isuru Madushanka Weerarathna &lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT uenr.userid As User, IF(enr.courseid=enr.courseid ,&#039;Y&#039;,&#039;N&#039;) As Enrolled, &lt;br /&gt;
IF(DATEDIFF(NOW(), FROM_UNIXTIME(uenr.timecreated))&amp;gt;=28,&#039;Y&#039;,&#039;N&#039;) As EnrolledMoreThan4Weeks&lt;br /&gt;
FROM mdl_enrol As enr, mdl_user_enrolments AS uenr&lt;br /&gt;
WHERE enr.id = uenr.enrolid AND enr.status = uenr.statu&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Log Acivity Reports==&lt;br /&gt;
===Detailed &amp;quot;VIEW&amp;quot; ACTION for each ROLE (TEACHER,NONE-EDITING TEACHER and STUDENT)===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT l.action, count( l.userid ) as counter , r.name&lt;br /&gt;
FROM `prefix_log` as l&lt;br /&gt;
JOIN `prefix_role_assignments` AS ra on l.userid = ra.userid&lt;br /&gt;
JOIN `prefix_role` AS r ON ra.roleid = r.id&lt;br /&gt;
WHERE (ra.roleid IN (3,4,5)) AND (l.action LIKE &#039;%view%&#039; )&lt;br /&gt;
GROUP BY roleid,l.action&lt;br /&gt;
order by r.name,counter desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Total Activity of Roles:&amp;quot;Teacher&amp;quot; and &amp;quot;None-Editing Teacher&amp;quot; by Dates and by Hours===&lt;br /&gt;
The output columns of this report table can be used as base for a Pivot-Table&lt;br /&gt;
which will show the amount of &#039;&#039;&#039;activity&#039;&#039;&#039; per &#039;&#039;&#039;hour&#039;&#039;&#039; per &#039;&#039;&#039;days&#039;&#039;&#039; in 3D graph view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT DATE_FORMAT( FROM_UNIXTIME( l.time ) , &#039;%Y/%m/%d&#039; ) AS grptimed ,&lt;br /&gt;
DATE_FORMAT( FROM_UNIXTIME( l.time ) , &#039;%k&#039; ) AS grptimeh  , count( l.userid ) AS counter &lt;br /&gt;
FROM `prefix_log` AS l&lt;br /&gt;
JOIN prefix_user AS u ON u.id = l.userid&lt;br /&gt;
JOIN prefix_role_assignments AS ra ON l.userid = ra.userid&lt;br /&gt;
JOIN prefix_role AS r ON r.id = ra.roleid&lt;br /&gt;
WHERE ra.roleid IN (3,4)&lt;br /&gt;
GROUP BY grptimed,grptimeh&lt;br /&gt;
ORDER BY grptimed,grptimeh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How many LOGINs per user and user&#039;s Activity===&lt;br /&gt;
+ link username to a user activity graph report&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/user.php?id=1&amp;amp;user=&#039;,u.id,&#039;&amp;amp;mode=alllogs&amp;quot;&amp;gt;&#039;,u.firstname ,&#039; &#039;,u.lastname,&#039;&amp;lt;/a&amp;gt;&#039;) as Username&lt;br /&gt;
,count(*) as logins&lt;br /&gt;
,(SELECT count(*) FROM prefix_log WHERE userid = l.userid GROUP BY userid) as Activity &lt;br /&gt;
FROM prefix_log as l JOIN prefix_user as u ON l.userid = u.id &lt;br /&gt;
WHERE `action` LIKE &#039;%login%&#039; group by userid&lt;br /&gt;
ORDER BY Activity DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Total activity per course, per unique user on the last 24h===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
Select&lt;br /&gt;
     Count(Distinct userid) As countUsers&lt;br /&gt;
   , Count(course) As countVisits&lt;br /&gt;
   , concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
&lt;br /&gt;
 From prefix_log as l&lt;br /&gt;
 JOIN prefix_course as c on c.id = l.course&lt;br /&gt;
 Where course &amp;gt; 0 and FROM_UNIXTIME(time) &amp;gt;= DATE_SUB(NOW(), INTERVAL 1 DAY) and c.fullname LIKE &#039;%תשעג%&#039;&lt;br /&gt;
 Group By course&lt;br /&gt;
ORDER BY countVisits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Course Reports==&lt;br /&gt;
===Most Active courses===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) hits, l.course courseId, c.fullname coursename&lt;br /&gt;
FROM prefix_log l INNER JOIN prefix_course c ON l.course = c.id&lt;br /&gt;
GROUP BY courseId&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Active courses, advanced===&lt;br /&gt;
Including: Teacher&#039;s name, link to the course, All types of log activities, special YEAR generated field, Activities and Resource count, enrolled Student count&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) hits, concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course &lt;br /&gt;
&lt;br /&gt;
,(SELECT CONCAT(u.firstname,&#039; &#039;, u.lastname) AS Teacher&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id LIMIT 1) AS Teacher&lt;br /&gt;
&lt;br /&gt;
,CASE &lt;br /&gt;
  WHEN c.fullname LIKE &#039;%תשע&#039; THEN &#039;תשע&#039;&lt;br /&gt;
  WHEN c.fullname LIKE &#039;%תשעא&#039; THEN &#039;תשעא&#039;&lt;br /&gt;
  WHEN c.fullname LIKE &#039;%תשעב&#039; THEN &#039;תשעב&#039;&lt;br /&gt;
END AS Year&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_course_modules cm WHERE cm.course = l.course) Modules&lt;br /&gt;
&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5 AND ctx.instanceid = c.id) AS Students&lt;br /&gt;
&lt;br /&gt;
FROM prefix_log l &lt;br /&gt;
INNER JOIN prefix_course c ON l.course = c.id&lt;br /&gt;
GROUP BY c.id&lt;br /&gt;
HAVING Modules &amp;gt; 2&lt;br /&gt;
ORDER BY Year DESC, hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RESOURCE count for each COURSE===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) count, l.course, c.fullname coursename&lt;br /&gt;
FROM prefix_resource l INNER JOIN prefix_course c on l.course = c.id&lt;br /&gt;
GROUP BY course&lt;br /&gt;
ORDER BY count DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Detailed Resource COUNT by Teacher in each course===&lt;br /&gt;
&lt;br /&gt;
Including (optional) filter by: year, semester and course id.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS CourseID&lt;br /&gt;
, c.id&lt;br /&gt;
,( SELECT DISTINCT CONCAT(u.firstname,&#039; &#039;,u.lastname)&lt;br /&gt;
  FROM prefix_role_assignments AS ra&lt;br /&gt;
  JOIN prefix_user AS u ON ra.userid = u.id&lt;br /&gt;
  JOIN prefix_context AS ctx ON ctx.id = ra.contextid&lt;br /&gt;
  WHERE ra.roleid = 3 AND ctx.instanceid = c.id AND ctx.contextlevel = 50 LIMIT 1) AS Teacher&lt;br /&gt;
&lt;br /&gt;
, (CASE &lt;br /&gt;
WHEN c.fullname LIKE &#039;%תשעב%&#039; THEN &#039;2012&#039; &lt;br /&gt;
WHEN c.fullname LIKE &#039;%תשעא%&#039; THEN &#039;2011&#039;&lt;br /&gt;
END ) as Year&lt;br /&gt;
, (CASE &lt;br /&gt;
WHEN c.fullname LIKE &#039;%סמסטר א%&#039; THEN &#039;Semester A&#039; &lt;br /&gt;
WHEN c.fullname LIKE &#039;%סמסטר ב%&#039; THEN &#039;Semester B&#039;&lt;br /&gt;
WHEN c.fullname LIKE &#039;%סמסטר ק%&#039; THEN &#039;Semester C&#039;&lt;br /&gt;
END ) as Semester&lt;br /&gt;
,COUNT(c.id) AS Total&lt;br /&gt;
,(SELECT count(*) FROM prefix_course_modules AS cm WHERE cm.course = c.id AND cm.module= 20) AS TABs&lt;br /&gt;
,(SELECT count(*) FROM prefix_course_modules AS cm WHERE cm.course = c.id AND cm.module= 33) AS BOOKs&lt;br /&gt;
&lt;br /&gt;
FROM `prefix_resource` as r &lt;br /&gt;
JOIN `prefix_course` AS c on c.id = r.course&lt;br /&gt;
#WHERE type= &#039;file&#039; and reference NOT LIKE &#039;http://%&#039; &lt;br /&gt;
&lt;br /&gt;
#WHERE 1=1&lt;br /&gt;
#%%FILTER_YEARS:c.fullname%%&lt;br /&gt;
#AND c.fullname LIKE &#039;%2013%&#039;&lt;br /&gt;
&lt;br /&gt;
GROUP BY course&lt;br /&gt;
ORDER BY COUNT(c.id) DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Courses that are defined as using GROUPs===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/group/index.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
,(SELECT count(*) FROM prefix_course_modules cm WHERE cm.course = c.id) Modules&lt;br /&gt;
,(SELECT count(*) FROM prefix_groups g WHERE g.courseid = c.id) Groups&lt;br /&gt;
 FROM `prefix_course` AS c&lt;br /&gt;
WHERE groupmode &amp;gt; 0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List all Courses in and below a certain category===&lt;br /&gt;
Use this SQL code to retrieve all courses that exist in or under a set category.&lt;br /&gt;
&lt;br /&gt;
$s should be the id of the category you want to know about...&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT prefix_course. * , prefix_course_categories. *&lt;br /&gt;
FROM prefix_course, prefix_course_categories&lt;br /&gt;
WHERE prefix_course.category = prefix_course_categories.id&lt;br /&gt;
AND (&lt;br /&gt;
prefix_course_categories.path LIKE &#039;/$s/%&#039;&lt;br /&gt;
OR prefix_course_categories.path LIKE &#039;/$s&#039;&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===List all Categories in one level below a certain category===&lt;br /&gt;
Use this PHP code to retrieve a list of all categories below a certain category.&lt;br /&gt;
&lt;br /&gt;
$s should be the id of the top level category you are interested in.&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
require_once(&#039;./config.php&#039;);&lt;br /&gt;
&lt;br /&gt;
$parent_id = $s;&lt;br /&gt;
&lt;br /&gt;
$categories= array();&lt;br /&gt;
&lt;br /&gt;
$categories = get_categories($parent_id);&lt;br /&gt;
&lt;br /&gt;
echo &#039;&amp;lt;ol&amp;gt;&#039;;&lt;br /&gt;
foreach ($categories as $category)&lt;br /&gt;
        {&lt;br /&gt;
        echo &#039;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;&#039;.$CFG-&amp;gt;wwwroot.&#039;/course/category.php?id=&#039;.$category-&amp;gt;id.&#039;&amp;quot;&amp;gt;&#039;.$category-&amp;gt;name.&#039;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&#039;;&lt;br /&gt;
        }&lt;br /&gt;
echo &#039;&amp;lt;/ol&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Blog activity per Course (not including VIEW)===&lt;br /&gt;
Filter activity logging to some specific Course Categories!&lt;br /&gt;
+ link course name to actual course (for quick reference)&lt;br /&gt;
(you can change %blog% to %wiki% to filter down all wiki activity or any other module you wish)&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,cm.course,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as CourseID&lt;br /&gt;
,m.name ,count(cm.id) as counter &lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5&lt;br /&gt;
AND ctx.instanceid = c.id&lt;br /&gt;
) AS Students&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE `module` LIKE &#039;%blog%&#039; AND course = c.id AND action NOT LIKE &#039;%view%&#039; ) as BlogActivity&lt;br /&gt;
FROM `prefix_course_modules` as cm JOIN prefix_modules as m ON cm.module=m.id JOIN prefix_course as c ON cm.course = c.id &lt;br /&gt;
WHERE m.name LIKE &#039;%blog%&#039; AND c.category IN ( 8,13,15)&lt;br /&gt;
GROUP BY cm.course,cm.module order by counter desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Courses which uploaded a Syllabus file===&lt;br /&gt;
+ under specific Category&lt;br /&gt;
+ show first Teacher in that course&lt;br /&gt;
+ link Course&#039;s fullname to actual course&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as Course&lt;br /&gt;
,c.shortname,r.name&lt;br /&gt;
,(SELECT CONCAT(u.firstname,&#039; &#039;, u.lastname) as Teacher&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user as u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id LIMIT 1) as Teacher&lt;br /&gt;
FROM prefix_resource as r &lt;br /&gt;
JOIN prefix_course as c ON r.course = c.id&lt;br /&gt;
WHERE ( r.name LIKE &#039;%סילבוס%&#039; OR r.name LIKE &#039;%סילאבוס%&#039; OR r.name LIKE &#039;%syllabus%&#039; OR r.name LIKE &#039;%תכנית הקורס%&#039; ) &lt;br /&gt;
AND c.category IN (10,18,26,13,28)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
===Site-wide completed SCORM activities by Course name===&lt;br /&gt;
This report will list all completed attempts for all SCORM activities. It is ordered first by Course name, then student&#039;s last name, then student&#039;s first name, then attempt number. Please note: the FROM_UNIXTIME command is for MySQL.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT u.firstname First,u.lastname Last,c.fullname Course, st.attempt Attempt,st.value Status,FROM_UNIXTIME(st.timemodified,&amp;quot;%m-%d-%Y&amp;quot;) Date &lt;br /&gt;
FROM prefix_scorm_scoes_track AS st &lt;br /&gt;
JOIN prefix_user AS u ON st.userid=u.id&lt;br /&gt;
JOIN prefix_scorm AS sc ON sc.id=st.scormid&lt;br /&gt;
JOIN prefix_course AS c ON c.id=sc.course&lt;br /&gt;
WHERE st.value=&#039;completed&#039; &lt;br /&gt;
ORDER BY c.fullname, u.lastname,u.firstname, st.attempt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Grade Reports==&lt;br /&gt;
===Site-Wide Grade Report with All Items===&lt;br /&gt;
Shows grades for all course items along with course totals for each student.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT u.firstname AS &#039;First&#039; , u.lastname AS &#039;Last&#039;, u.firstname + &#039; &#039; + u.lastname AS &#039;Display Name&#039;, &lt;br /&gt;
c.fullname AS &#039;Course&#039;, &lt;br /&gt;
cc.name AS &#039;Category&#039;,&lt;br /&gt;
&lt;br /&gt;
CASE &lt;br /&gt;
  WHEN gi.itemtype = &#039;course&#039; &lt;br /&gt;
   THEN c.fullname + &#039; Course Total&#039;&lt;br /&gt;
  ELSE gi.itemname&lt;br /&gt;
END AS &#039;Item Name&#039;,&lt;br /&gt;
&lt;br /&gt;
ROUND(gg.finalgrade,2) AS Grade,&lt;br /&gt;
DATEADD(ss,gi.timemodified,&#039;1970-01-01&#039;) AS Time&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
JOIN prefix_context AS ctx ON c.id = ctx.instanceid&lt;br /&gt;
JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
JOIN prefix_grade_grades AS gg ON gg.userid = u.id&lt;br /&gt;
JOIN prefix_grade_items AS gi ON gi.id = gg.itemid&lt;br /&gt;
JOIN prefix_course_categories as cc ON cc.id = c.category&lt;br /&gt;
&lt;br /&gt;
WHERE  gi.courseid = c.id &lt;br /&gt;
ORDER BY lastname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
For MySQL users, you&#039;ll need to use the MySQL DATE_ADD function instead of DATEADD:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
DATE_ADD(&#039;1970-01-01&#039;, INTERVAL gi.timemodified SECONDS) AS Time&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Site-Wide Grade Report with Just Course Totals===&lt;br /&gt;
A second site-wide grade report for all students that just shows course totals.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT u.firstname AS &#039;First&#039; , u.lastname AS &#039;Last&#039;, u.firstname + &#039; &#039; + u.lastname AS &#039;Display Name&#039;, &lt;br /&gt;
cc.name AS &#039;Category&#039;,&lt;br /&gt;
CASE &lt;br /&gt;
  WHEN gi.itemtype = &#039;course&#039; &lt;br /&gt;
   THEN c.fullname + &#039; Course Total&#039;&lt;br /&gt;
  ELSE gi.itemname&lt;br /&gt;
END AS &#039;Item Name&#039;,&lt;br /&gt;
&lt;br /&gt;
ROUND(gg.finalgrade,2) AS Grade,&lt;br /&gt;
DATEADD(ss,gi.timemodified,&#039;1970-01-01&#039;) AS Time&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
JOIN prefix_context AS ctx ON c.id = ctx.instanceid&lt;br /&gt;
JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
JOIN prefix_grade_grades AS gg ON gg.userid = u.id&lt;br /&gt;
JOIN prefix_grade_items AS gi ON gi.id = gg.itemid&lt;br /&gt;
JOIN prefix_course_categories as cc ON cc.id = c.category&lt;br /&gt;
&lt;br /&gt;
WHERE  gi.courseid = c.id AND gi.itemtype = &#039;course&#039;&lt;br /&gt;
&lt;br /&gt;
ORDER BY lastname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
For MySQL users, you&#039;ll need to use the MySQL DATE_ADD function instead of DATEADD:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
DATE_ADD(&#039;1970-01-01&#039;, INTERVAL gi.timemodified SECONDS) AS Time&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Learner report by Learner with grades===&lt;br /&gt;
Which Learners in which course and what are the grades&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT u.firstname AS &#039;Name&#039; , u.lastname AS &#039;Surname&#039;, c.fullname AS &#039;Course&#039;, cc.name AS &#039;Category&#039;, &lt;br /&gt;
CASE WHEN gi.itemtype = &#039;Course&#039;    &lt;br /&gt;
THEN c.fullname + &#039; Course Total&#039;  &lt;br /&gt;
ELSE gi.itemname &lt;br /&gt;
END AS &#039;Item Name&#039;, ROUND(gg.finalgrade,2) AS Score,ROUND(gg.rawgrademax,2) AS Max, ROUND(gg.finalgrade / gg.rawgrademax * 100 ,2) as Percentage,&lt;br /&gt;
&lt;br /&gt;
if (ROUND(gg.finalgrade / gg.rawgrademax * 100 ,2) &amp;gt; 79,&#039;Yes&#039; , &#039;No&#039;) as Pass&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course AS c &lt;br /&gt;
JOIN prefix_context AS ctx ON c.id = ctx.instanceid &lt;br /&gt;
JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id &lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid &lt;br /&gt;
JOIN prefix_grade_grades AS gg ON gg.userid = u.id &lt;br /&gt;
JOIN prefix_grade_items AS gi ON gi.id = gg.itemid &lt;br /&gt;
JOIN prefix_course_categories AS cc ON cc.id = c.category &lt;br /&gt;
WHERE  gi.courseid = c.id and gi.itemname != &#039;Attendance&#039;&lt;br /&gt;
ORDER BY `Name` ASC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Activity Module Reports==&lt;br /&gt;
&lt;br /&gt;
===How many SCORM activities are used in each Course===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT cm.course,c.fullname ,m.name &lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/scorm/index.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,count(cm.id),&#039;&amp;lt;/a&amp;gt;&#039;) AS Counter&lt;br /&gt;
 &lt;br /&gt;
FROM `prefix_course_modules` as cm &lt;br /&gt;
  JOIN prefix_modules as m ON cm.module=m.id &lt;br /&gt;
  JOIN prefix_course as c ON cm.course = c.id &lt;br /&gt;
WHERE m.name LIKE &#039;%scorm%&#039; &lt;br /&gt;
GROUP BY cm.course,cm.module &lt;br /&gt;
ORDER BY count(cm.id) desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Detailed ACTIONs for each MODULE===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT module,action,count(id) as counter&lt;br /&gt;
FROM prefix_log&lt;br /&gt;
GROUP BY module,action&lt;br /&gt;
ORDER BY module,counter desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Most popular ACTIVITY===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT(l.id) hits, module&lt;br /&gt;
FROM prefix_log l&lt;br /&gt;
WHERE module != &#039;login&#039; AND module != &#039;course&#039; AND module != &#039;role&#039;&lt;br /&gt;
GROUP BY module&lt;br /&gt;
ORDER BY hits DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System wide use of ACTIVITIES and RESOURCES===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT count( cm.id ) AS counter, m.name&lt;br /&gt;
FROM `prefix_course_modules` AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
GROUP BY cm.module&lt;br /&gt;
ORDER BY counter DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LOG file ACTIONS per MODULE per COURSE (IDs)===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
select course,module,action,count(action) as summa from prefix_log&lt;br /&gt;
where action &amp;lt;&amp;gt; &#039;new&#039;&lt;br /&gt;
group by course,action,module&lt;br /&gt;
order by course,module,action&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Wide usage count of various course Activities===&lt;br /&gt;
(Tested and works fine in Moodle 2.x)&lt;br /&gt;
Like: Forum, Wiki, Blog, Assignment, Database,&lt;br /&gt;
#Within specific category&lt;br /&gt;
#Teacher name in course&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as Course&lt;br /&gt;
&lt;br /&gt;
,(SELECT CONCAT(u.firstname,&#039; &#039;, u.lastname) AS Teacher&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id LIMIT 1) AS Teacher &lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;) AS Wikis&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%blog%&#039;) AS Blogs&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%forum%&#039;) AS Forums&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%data%&#039;) AS Databses&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%assignment%&#039;) AS Assignments&lt;br /&gt;
&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5 AND ctx.instanceid = c.id) AS Students&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
WHERE c.category IN ( 18)&lt;br /&gt;
ORDER BY Wikis DESC,Blogs DESC, Forums DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Course wiki usage/activity over the last 6 semesters===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT &amp;quot;Courses with Wikis&amp;quot;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;2010&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%Semester A%&#039;) AS &#039;2010 &amp;lt;br/&amp;gt; Semester A&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;2010&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%Semester B%&#039;) AS &#039;2010 &amp;lt;br/&amp;gt; Semester B&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;תשעא&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%סמסטר א%&#039;) AS &#039;תשעא &amp;lt;br/&amp;gt; סמסטר א&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;תשעא&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%סמסטר ב%&#039;) AS &#039;תשעא &amp;lt;br/&amp;gt; סמסטר ב&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;תשעב&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%סמסטר א%&#039;) AS &#039;תשעב &amp;lt;br/&amp;gt; סמסטר א&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;תשעב&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%סמסטר ב%&#039;) AS &#039;תשעב &amp;lt;br/&amp;gt; סמסטר ב&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;תשעג&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%סמסטר א%&#039;) AS &#039;תשעג &amp;lt;br/&amp;gt; סמסטר א&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM &lt;br /&gt;
prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_course AS c ON c.id = cm.course&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
 and c.fullname LIKE CONCAT(&#039;%&#039;,&#039;תשעג&#039;,&#039;%&#039;) and c.fullname LIKE &#039;%סמסטר ב%&#039;) AS &#039;תשעג &amp;lt;br/&amp;gt; סמסטר ב&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Detailed WIKI activity (per wiki per course)===&lt;br /&gt;
Including Number of Students in course (for reference)&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,cm.course,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as CourseID  &lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5 AND ctx.instanceid = c.id ) AS Students&lt;br /&gt;
,m.name&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE cmid = cm.id AND action LIKE &#039;%updat%&#039; ) as &#039;UPDAT E&#039;&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE cmid = cm.id AND action LIKE &#039;%annotate%&#039; ) as ANNOTATE&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE cmid = cm.id AND action LIKE &#039;%comment%&#039; ) as COMMENT&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE cmid = cm.id AND action LIKE &#039;%add%&#039; ) as &#039;A DD&#039;&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE cmid = cm.id AND action LIKE &#039;%edit%&#039; ) as EDIT&lt;br /&gt;
, ( SELECT count(id) FROM prefix_log WHERE cmid = cm.id AND action NOT LIKE &#039;%view%&#039; ) as &#039;All (NO View)&#039;&lt;br /&gt;
FROM `prefix_course_modules` as cm &lt;br /&gt;
JOIN prefix_modules as m ON cm.module=m.id &lt;br /&gt;
JOIN prefix_course as c ON cm.course = c.id &lt;br /&gt;
WHERE m.name LIKE &#039;%wiki%&#039;&lt;br /&gt;
GROUP BY cm.course,cm.module&lt;br /&gt;
ORDER BY &#039;All (NO View)&#039; DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wiki usage, system wide===&lt;br /&gt;
(you can filter the output by selecting some specific course categories : &amp;quot;WHERE c.category IN ( 8,13,15)&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as Course&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%wiki%&#039;) AS Wikis&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.course = c.id AND l.module LIKE &#039;%wiki%&#039;) AS &#039;WikiActivity&amp;lt;br/&amp;gt;ALL&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.course = c.id AND l.module LIKE &#039;%wiki%&#039; and l.action LIKE &#039;%add%&#039; ) AS &#039;WikiActivity&amp;lt;br/&amp;gt;ADD&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.course = c.id AND l.module LIKE &#039;%wiki%&#039; and l.action LIKE &#039;%edit%&#039; ) AS &#039;WikiActivity&amp;lt;br/&amp;gt;EDIT&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.course = c.id AND l.module LIKE &#039;%wiki%&#039; and l.action LIKE &#039;%annotate%&#039; ) AS &#039;WikiActivity&amp;lt;br/&amp;gt;ANNOTATE&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.course = c.id AND l.module LIKE &#039;%wiki%&#039; and l.action LIKE &#039;%comments%&#039; ) AS &#039;WikiActivity&amp;lt;br/&amp;gt;Comments&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5 AND ctx.instanceid = c.id) AS Students&lt;br /&gt;
&lt;br /&gt;
,(SELECT count(*) FROM prefix_ouwiki_pages as ouwp&lt;br /&gt;
JOIN prefix_ouwiki as ouw ON ouw.id = ouwp.subwikiid&lt;br /&gt;
WHERE ouw.course = c.id GROUP BY ouw.course  ) as OUWikiPages&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( DISTINCT nwp.pagename ) FROM prefix_wiki_pages AS nwp&lt;br /&gt;
JOIN prefix_wiki AS nw ON nw.id = nwp.dfwiki WHERE nw.course = c.id ) As NWikiPages&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
WHERE c.category IN ( 8,13,15)&lt;br /&gt;
HAVING Wikis &amp;gt; 0&lt;br /&gt;
ORDER BY &#039;WikiActivity&amp;lt;br/&amp;gt;ALL&#039; DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Aggregated Teacher activity by &amp;quot;WEB2&amp;quot; Modules===&lt;br /&gt;
(Tested and works fine in Moodle 2.x)&lt;br /&gt;
The NV column shows activity without VIEW log activity&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT ra.userid, u.firstname,u.lastname&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%wiki%&#039;) AS Wiki&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%wiki%&#039; AND l.action NOT LIKE &#039;%view%&#039;) AS Wiki_NV&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%forum%&#039;) AS Forum&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%forum%&#039; AND l.action NOT LIKE &#039;%view%&#039;) AS Forum_NV&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%blog%&#039;) AS Blog&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%blog%&#039; AND l.action NOT LIKE &#039;%view%&#039;) AS Blog_NV&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%assignment%&#039;) AS Assignment&lt;br /&gt;
,(SELECT count(*) FROM prefix_log as l WHERE l.userid = u.id AND l.module LIKE &#039;%assignment%&#039; AND l.action NOT LIKE &#039;%view%&#039;) AS Assignment_NV&lt;br /&gt;
FROM prefix_role_assignments AS ra &lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid &lt;br /&gt;
WHERE ra.roleid = 3 &lt;br /&gt;
GROUP BY ra.userid&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List all the certificates issued, sort by variables in the custom profile fields===&lt;br /&gt;
Note: The SQL queries look intimidating at first, but isn&#039;t really that difficult to learn. I&#039;ve seen in the forums that users wanted to do &#039;site-wide&#039; groups in 1.9x. This is sort of the idea. It pulls all the certificates issued to all users sorted by the custom profile fields, which in my case is the Units or Depts (i.e. my site wide groups). Why certificates? I&#039;ve explored with both grades and quizzes, the course admins are not really interested in the actual grades but whether the learner received a certificate (i.e. passed the course with x, y, z activities). It also saves me from creating groups and assigning them into the right groups. Even assigning in bulk is not efficient, since I have upward of 25 groups per course and constantly new learners enrolling in courses. The limitation is something to do with the server? as it only pull 5000 rows of data. If anyone figured out how to change this, please let me know. In the meantime, the work around is to pull only a few units/depts at a time to limit the number of rows. This is fine at the moment, since each course admin are only responsible for certain units/depts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
DATE_FORMAT( FROM_UNIXTIME(prefix_certificate_issues.timecreated), &#039;%Y/%m/%d&#039; ) AS Date,&lt;br /&gt;
prefix_certificate_issues.classname AS Topic,&lt;br /&gt;
prefix_certificate.name AS Certificate,&lt;br /&gt;
prefix_certificate_issues.studentname as Name,&lt;br /&gt;
prefix_user_info_data.data AS Units&lt;br /&gt;
&lt;br /&gt;
FROM&lt;br /&gt;
prefix_certificate_issues&lt;br /&gt;
&lt;br /&gt;
INNER JOIN prefix_user_info_data&lt;br /&gt;
on prefix_certificate_issues.userid = prefix_user_info_data.userid&lt;br /&gt;
&lt;br /&gt;
INNER JOIN prefix_certificate&lt;br /&gt;
on prefix_certificate_issues.certificateid = prefix_certificate.id&lt;br /&gt;
&lt;br /&gt;
WHERE prefix_user_info_data.data=&#039;Unit 1&#039;&lt;br /&gt;
OR prefix_user_info_data.data=&#039;Unit 2&#039;&lt;br /&gt;
OR prefix_user_info_data.data=&#039;Unit 3&#039;&lt;br /&gt;
&lt;br /&gt;
ORDER BY Units, Name, Topic ASC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Counter Blog usage in Courses,system wide===&lt;br /&gt;
What teachers in what courses, uses blogs and how many + student count in that course.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT ( @counter := @counter+1) as counter, &lt;br /&gt;
concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) as Course&lt;br /&gt;
&lt;br /&gt;
,( SELECT DISTINCT CONCAT(u.firstname,&#039; &#039;,u.lastname)&lt;br /&gt;
  FROM prefix_role_assignments AS ra&lt;br /&gt;
  JOIN prefix_user AS u ON ra.userid = u.id&lt;br /&gt;
  JOIN prefix_context AS ctx ON ctx.id = ra.contextid&lt;br /&gt;
  WHERE ra.roleid = 3 AND ctx.instanceid = c.id AND ctx.contextlevel = 50 LIMIT 1) AS Teacher&lt;br /&gt;
&lt;br /&gt;
,(SELECT count( m.name ) AS count FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
WHERE cm.course = c.id AND m.name LIKE &#039;%blog%&#039;) AS Blogs&lt;br /&gt;
&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5 AND ctx.instanceid = c.id) AS Students&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course AS c, (SELECT @counter := 0) as s_init&lt;br /&gt;
WHERE c.category IN ( 8,13,15)&lt;br /&gt;
HAVING Blogs &amp;gt; 0&lt;br /&gt;
ORDER BY Blogs DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Elluminate (Blackboard Collaborate) - system wide usage===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT e.name As Session ,er.recordingsize&lt;br /&gt;
,c.fullname As Course&lt;br /&gt;
,u.firstname,u.lastname &lt;br /&gt;
,DATE_FORMAT(FROM_UNIXTIME(e.timestart),&#039;%d-%m-%Y&#039;) AS dTimeStart&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/moodle/mod/elluminate/loadrecording.php?id=&#039;,er.id,&#039;&amp;quot;&amp;gt;Show&amp;lt;/a&amp;gt;&#039;) AS RecordedSession&lt;br /&gt;
&lt;br /&gt;
FROM prefix_elluminate_recordings AS er&lt;br /&gt;
JOIN prefix_elluminate AS e ON e.meetingid = er.meetingid&lt;br /&gt;
JOIN prefix_course as c ON c.id = e.course&lt;br /&gt;
JOIN prefix_user AS u ON u.id = e.creator &lt;br /&gt;
ORDER BY er.recordingsize DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Assignment Module Reports==&lt;br /&gt;
===All Ungraded Assignments===&lt;br /&gt;
Returns all the submitted assignments that still need grading&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
select &lt;br /&gt;
u.firstname AS &amp;quot;First&amp;quot;,&lt;br /&gt;
u.lastname AS &amp;quot;Last&amp;quot;,&lt;br /&gt;
c.fullname AS &amp;quot;Course&amp;quot;,&lt;br /&gt;
a.name AS &amp;quot;Assignment&amp;quot;&lt;br /&gt;
&lt;br /&gt;
from prefix_assignment_submissions as asb&lt;br /&gt;
join prefix_assignment as a ON a.id = asb.assignment&lt;br /&gt;
join prefix_user as u ON u.id = asb.userid&lt;br /&gt;
join prefix_course as c ON c.id = a.course&lt;br /&gt;
join prefix_course_modules as cm ON c.id = cm.course&lt;br /&gt;
&lt;br /&gt;
where asb.grade &amp;lt; 0 and cm.instance = a.id&lt;br /&gt;
and cm.module = 1&lt;br /&gt;
&lt;br /&gt;
order by c.fullname, a.name, u.lastname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Ungraded Assignments w/ Link===&lt;br /&gt;
Returns all the submitted assignments that still need grading, along with a link that goes directly to the submission to grade it. The links work if you view the report within Moodle.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
select &lt;br /&gt;
u.firstname AS &amp;quot;First&amp;quot;,&lt;br /&gt;
u.lastname AS &amp;quot;Last&amp;quot;,&lt;br /&gt;
c.fullname AS &amp;quot;Course&amp;quot;,&lt;br /&gt;
a.name AS &amp;quot;Assignment&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&#039;&amp;lt;a href=&amp;quot;http://education.varonis.com/mod/assignment/submissions.php&#039; + char(63) +&lt;br /&gt;
+ &#039;id=&#039; + cast(cm.id as varchar) + &#039;&amp;amp;userid=&#039; + cast(u.id as varchar) &lt;br /&gt;
+ &#039;&amp;amp;mode=single&amp;amp;filter=0&amp;amp;offset=2&amp;quot;&amp;gt;&#039; + a.name + &#039;&amp;lt;/a&amp;gt;&#039;&lt;br /&gt;
AS &amp;quot;Assignmentlink&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
from prefix_assignment_submissions as asb&lt;br /&gt;
join prefix_assignment as a ON a.id = asb.assignment&lt;br /&gt;
join prefix_user as u ON u.id = asb.userid&lt;br /&gt;
join prefix_course as c ON c.id = a.course&lt;br /&gt;
join prefix_course_modules as cm ON c.id = cm.course&lt;br /&gt;
&lt;br /&gt;
where asb.grade &amp;lt; 0 and cm.instance = a.id and cm.module = 1&lt;br /&gt;
&lt;br /&gt;
order by c.fullname, a.name, u.lastname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Assignments (and Quizzes) waiting to be graded===&lt;br /&gt;
This report requires a YEAR filter to be added (Available when using the latest block/configurable_reports)&lt;br /&gt;
&lt;br /&gt;
Which you can always remove, to make this query work on earlier versions.&lt;br /&gt;
&lt;br /&gt;
The report includes: &lt;br /&gt;
*number of quizzes&lt;br /&gt;
*unFinished Quiz attempts&lt;br /&gt;
*Finished Quiz attempts&lt;br /&gt;
*number of students&lt;br /&gt;
*number of Assignments&lt;br /&gt;
*number of submitted answers by students &lt;br /&gt;
*number of unchecked assignments (waiting for the Teacher) in a Course.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
&lt;br /&gt;
,(SELECT CONCAT(u.firstname,&#039; &#039;, u.lastname) AS Teacher&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id LIMIT 1) AS Teacher &lt;br /&gt;
 &lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/assignment/index.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;מטלות&amp;lt;/a&amp;gt;&#039;) AS Assignments&lt;br /&gt;
&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/quiz/index.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;בחנים&amp;lt;/a&amp;gt;&#039;) AS &#039;Quizzes&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT COUNT(*) &lt;br /&gt;
FROM prefix_course_modules cm &lt;br /&gt;
JOIN prefix_modules as m ON m.id = cm.module &lt;br /&gt;
WHERE m.name LIKE &#039;quiz&#039; AND cm.course = c.id &lt;br /&gt;
GROUP BY cm.course &lt;br /&gt;
) AS &#039;nQuizzes&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT COUNT(*)&lt;br /&gt;
FROM prefix_quiz_attempts AS qa&lt;br /&gt;
JOIN prefix_quiz AS q ON q.id = qa.quiz&lt;br /&gt;
WHERE q.course = c.id&lt;br /&gt;
AND qa.timefinish = 0&lt;br /&gt;
GROUP BY q.course) AS &#039;unFinished Quiz attempts&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT COUNT(*)&lt;br /&gt;
FROM prefix_quiz_attempts AS qa&lt;br /&gt;
JOIN prefix_quiz AS q ON q.id = qa.quiz&lt;br /&gt;
WHERE q.course = c.id&lt;br /&gt;
AND qa.timefinish &amp;gt; 0&lt;br /&gt;
GROUP BY q.course) AS &#039;finished quiz attempts&#039;&lt;br /&gt;
&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5&lt;br /&gt;
AND ctx.instanceid = c.id&lt;br /&gt;
) AS nStudents&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
,(&lt;br /&gt;
SELECT count(a.id)&lt;br /&gt;
FROM prefix_assignment AS a &lt;br /&gt;
JOIN prefix_course_modules AS cm ON a.course = cm.course &lt;br /&gt;
WHERE cm.instance = a.id AND cm.module = 1 AND a.course = c.id&lt;br /&gt;
) nAssignments&lt;br /&gt;
&lt;br /&gt;
,(&lt;br /&gt;
SELECT count(*)&lt;br /&gt;
FROM prefix_assignment AS a &lt;br /&gt;
WHERE a.course = c.id AND FROM_UNIXTIME(a.timedue) &amp;gt; NOW()&lt;br /&gt;
GROUP BY a.course&lt;br /&gt;
) &#039;Open &amp;lt;br/&amp;gt;Assignments&#039;&lt;br /&gt;
&lt;br /&gt;
, CONCAT(ROUND( (100 / iAssignments ) * iOpenAssignments ) ,&#039;%&#039;) &#039;unFinished &amp;lt;br/&amp;gt;Assignments &amp;lt;br/&amp;gt;(percent)&#039;&lt;br /&gt;
 &lt;br /&gt;
,(&lt;br /&gt;
SELECT count(asb.id)&lt;br /&gt;
FROM prefix_assignment_submissions AS asb&lt;br /&gt;
JOIN prefix_assignment AS a ON a.id = asb.assignment&lt;br /&gt;
JOIN prefix_course_modules AS cm ON a.course = cm.course &lt;br /&gt;
WHERE asb.grade &amp;lt; 0 AND cm.instance = a.id AND cm.module = 1 AND a.course = c.id&lt;br /&gt;
) &#039;unChecked  &amp;lt;br/&amp;gt;Submissions&#039; &lt;br /&gt;
 &lt;br /&gt;
,(&lt;br /&gt;
SELECT count(asb.id)&lt;br /&gt;
FROM prefix_assignment_submissions AS asb&lt;br /&gt;
JOIN prefix_assignment AS a ON a.id = asb.assignment&lt;br /&gt;
JOIN prefix_course_modules AS cm ON a.course = cm.course &lt;br /&gt;
WHERE cm.instance = a.id AND cm.module = 1 AND a.course = c.id&lt;br /&gt;
) &#039;Submitted  &amp;lt;br/&amp;gt;Assignments&#039;&lt;br /&gt;
 &lt;br /&gt;
FROM prefix_course AS c&lt;br /&gt;
LEFT JOIN (&lt;br /&gt;
SELECT course, count(*) AS iAssignments&lt;br /&gt;
FROM prefix_assignment AS a &lt;br /&gt;
GROUP BY a.course &lt;br /&gt;
) AS tblAssignmentsCount ON tblAssignmentsCount.course = c.id&lt;br /&gt;
&lt;br /&gt;
LEFT JOIN (&lt;br /&gt;
SELECT course, count(*) AS iOpenAssignments&lt;br /&gt;
FROM prefix_assignment AS a &lt;br /&gt;
WHERE FROM_UNIXTIME(a.timedue) &amp;gt; NOW()&lt;br /&gt;
GROUP BY a.course &lt;br /&gt;
) AS tblOpenAssignmentsCount ON tblOpenAssignmentsCount.course = c.id&lt;br /&gt;
&lt;br /&gt;
WHERE 1=1  &lt;br /&gt;
#AND c.fullname LIKE &#039;%תשעג%&#039;&lt;br /&gt;
%%FILTER_YEARS:c.fullname%%&lt;br /&gt;
## You can enable the SEMESTER filter as well, &lt;br /&gt;
## by uncommenting the following line:&lt;br /&gt;
## %%FILTER_SEMESTERS:c.fullname%%&lt;br /&gt;
ORDER BY &#039;Open &amp;lt;br/&amp;gt;Assignments&#039; DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Who is using &amp;quot;Single File Upload&amp;quot; assignment===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
 &lt;br /&gt;
,(SELECT CONCAT(u.firstname,&#039; &#039;, u.lastname) AS Teacher&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id LIMIT 1) AS Teacher &lt;br /&gt;
&lt;br /&gt;
,ass.name as &amp;quot;Assignment Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
FROM &lt;br /&gt;
prefix_assignment as ass&lt;br /&gt;
&lt;br /&gt;
JOIN &lt;br /&gt;
prefix_course as c ON c.id = ass.course&lt;br /&gt;
&lt;br /&gt;
WHERE `assignmenttype` LIKE &#039;uploadsingle&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resource Module Reports==&lt;br /&gt;
===List &amp;quot;Recently uploaded files&amp;quot;===&lt;br /&gt;
see what users are uploading&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT FROM_UNIXTIME(time,&#039;%Y %M %D %h:%i:%s&#039;) as time ,ip,userid,url,info  &lt;br /&gt;
FROM `prefix_log` &lt;br /&gt;
WHERE `action` LIKE &#039;upload&#039; &lt;br /&gt;
ORDER BY `prefix_log`.`time`  DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List Courses that loaded a specific file: &amp;quot;X&amp;quot;===&lt;br /&gt;
Did the Teacher (probably) uploaded course&#039;s Syllabus ?&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT c.id, c.fullname  FROM `prefix_log` as l &lt;br /&gt;
JOIN prefix_course as c ON c.id = l.course &lt;br /&gt;
WHERE `action` LIKE &#039;%upload%&#039; AND ( info LIKE &#039;%Syllabus%&#039; OR info LIKE &#039;%Sylabus%&#039; ) GROUP BY c.id&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All resources that link to some specific external website===&lt;br /&gt;
+ link to course&lt;br /&gt;
+ who&#039;s the teacher&lt;br /&gt;
+ link to external resource&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
,c.shortname,r.name&lt;br /&gt;
,(SELECT CONCAT(u.firstname,&#039; &#039;, u.lastname) AS Teacher&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
WHERE ra.roleid = 3 AND ctx.instanceid = c.id LIMIT 1) AS Teacher&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/resource/view.php?id=&#039;,r.id,&#039;&amp;quot;&amp;gt;&#039;,r.name,&#039;&amp;lt;/a&amp;gt;&#039;) AS Resource&lt;br /&gt;
FROM prefix_resource AS r &lt;br /&gt;
JOIN prefix_course AS c ON r.course = c.id&lt;br /&gt;
WHERE r.reference LIKE &#039;http://info.oranim.ac.il/home%&#039; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Compose Web Page&amp;quot; RESOURCE count===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT course,prefix_course.fullname, COUNT(*) AS Total&lt;br /&gt;
FROM `prefix_resource`&lt;br /&gt;
JOIN `prefix_course` ON prefix_course.id = prefix_resource.course&lt;br /&gt;
WHERE type=&#039;html&#039;&lt;br /&gt;
GROUP BY course&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resource count in courses===&lt;br /&gt;
+ (First)Teacher name&lt;br /&gt;
+ Where course is inside some specific Categories&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
COUNT(*) AS count&lt;br /&gt;
,r.course &lt;br /&gt;
,c.shortname shortname&lt;br /&gt;
,c.fullname coursename&lt;br /&gt;
,( SELECT DISTINCT CONCAT(u.firstname,&#039; &#039;,u.lastname)&lt;br /&gt;
  FROM prefix_role_assignments AS ra&lt;br /&gt;
  JOIN prefix_user as u ON ra.userid = u.id&lt;br /&gt;
  JOIN prefix_context AS ctx ON ctx.id = ra.contextid&lt;br /&gt;
  WHERE ra.roleid = 3 AND ctx.instanceid = r.course AND ctx.contextlevel = 50 LIMIT 1) AS Teacher&lt;br /&gt;
FROM prefix_resource r &lt;br /&gt;
JOIN prefix_course c ON r.course = c.id&lt;br /&gt;
WHERE c.category IN (10,13,28,18,26)&lt;br /&gt;
GROUP BY r.course&lt;br /&gt;
ORDER BY COUNT(*) DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forum Module Reports==&lt;br /&gt;
===print all User&#039;s post in course Forums===&lt;br /&gt;
@@COURSEID@@ is a variable the is replace by the current CourseID you are running the sql report from. if you are using the latest block/configurable_reports ! (You can always change it to a fixed course or remove it to display all courses.)&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/forum/user.php?course=&#039;,c.id,&#039;&amp;amp;id=&#039;,u.id,&#039;&amp;amp;mode=posts&amp;quot;&amp;gt;&#039;,CONCAT(u.firstname,&#039; &#039;, u.lastname),&#039;&amp;lt;/a&amp;gt;&#039;) As Fullname&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/forum/view.php?f=&#039;,fd.forum,&#039;&amp;quot;&amp;gt;&#039;,f.name,&#039;&amp;lt;/a&amp;gt;&#039;) AS Forum&lt;br /&gt;
,count(*) as Posts&lt;br /&gt;
,(SELECT count(*) FROM prefix_forum_discussions AS ifd JOIN prefix_forum as iforum ON iforum.id = ifd.forum  WHERE ifd.userid = fp.userid AND iforum.id = f.id) AS cAllDiscussion&lt;br /&gt;
&lt;br /&gt;
FROM prefix_forum_posts AS fp &lt;br /&gt;
JOIN prefix_user as u ON u.id = fp.userid &lt;br /&gt;
JOIN prefix_forum_discussions AS fd ON fp.discussion = fd.id &lt;br /&gt;
JOIN prefix_forum AS f ON f.id = fd.forum &lt;br /&gt;
JOIN prefix_course as c ON c.id = fd.course &lt;br /&gt;
WHERE fd.course = &#039;@@COURSEID@@&#039; &lt;br /&gt;
GROUP BY f.id,u.id&lt;br /&gt;
ORDER BY u.id&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===FORUM use Count per COURSE -- not including NEWS Forum!===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT prefix_course.fullname, prefix_forum.course, count(*) as total FROM prefix_forum&lt;br /&gt;
INNER JOIN prefix_course&lt;br /&gt;
ON prefix_course.id = prefix_forum.course&lt;br /&gt;
WHERE NOT(prefix_forum.type = &#039;news&#039;)&lt;br /&gt;
GROUP BY prefix_forum.course&lt;br /&gt;
ORDER BY total desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FORUM use Count per COURSE by type -- not including NEWS Forum!===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT prefix_course.fullname, prefix_forum.course, prefix_forum.type, count(*) as total FROM prefix_forum&lt;br /&gt;
INNER JOIN prefix_course&lt;br /&gt;
ON prefix_course.id = prefix_forum.course&lt;br /&gt;
WHERE NOT(prefix_forum.type = &#039;news&#039;)&lt;br /&gt;
GROUP BY prefix_forum.course,prefix_forum.type&lt;br /&gt;
ORDER BY total desc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Forum activity - system wide===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.id,&#039;&amp;lt;/a&amp;gt;&#039;) AS CourseID&lt;br /&gt;
,( SELECT DISTINCT CONCAT(u.firstname,&#039; &#039;,u.lastname)&lt;br /&gt;
  FROM prefix_role_assignments AS ra&lt;br /&gt;
  JOIN prefix_user AS u ON ra.userid = u.id&lt;br /&gt;
  JOIN prefix_context AS ctx ON ctx.id = ra.contextid&lt;br /&gt;
  WHERE ra.roleid = 3 AND ctx.instanceid = c.id AND ctx.contextlevel = 50 LIMIT 1) AS Teacher&lt;br /&gt;
,c.fullname as Course&lt;br /&gt;
,f.type&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid = 5 AND ctx.instanceid = c.id) AS Students&lt;br /&gt;
, fd.forum, f.name,count(*) AS cPostAndDisc&lt;br /&gt;
,(SELECT count(*) FROM prefix_forum_discussions AS ifd WHERE ifd.forum = f.id) AS cDiscussion&lt;br /&gt;
FROM prefix_forum_posts AS fp&lt;br /&gt;
JOIN prefix_forum_discussions AS fd ON fd.id = fp.discussion&lt;br /&gt;
JOIN prefix_forum AS f ON f.id = fd.forum&lt;br /&gt;
JOIN prefix_course AS c ON c.id = f.course&lt;br /&gt;
WHERE f.type != &#039;news&#039; AND c.fullname LIKE &#039;%2013%&#039;&lt;br /&gt;
## WHERE 1=1 &lt;br /&gt;
## %%FILTER_YEARS:c.fullname%%&lt;br /&gt;
## You can enable the SEMESTER filter as well, &lt;br /&gt;
## by uncommenting the following line:&lt;br /&gt;
## %%FILTER_SEMESTERS:c.fullname%%&lt;br /&gt;
&lt;br /&gt;
GROUP BY fd.forum&lt;br /&gt;
ORDER BY count( * ) DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Activity In Forums===&lt;br /&gt;
Trying to figure out how much real activity we have in Forums by aggregating:&lt;br /&gt;
Users in Course, Number of Posts, Number of Discussions, Unique student post, Unique student discussions, Number of Teachers , Number of Students, ratio between unique Student posts and the number of students in the Course...&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT c.fullname,f.name,f.type &lt;br /&gt;
,(SELECT count(id) FROM prefix_forum_discussions as fd WHERE f.id = fd.forum) as Discussions&lt;br /&gt;
,(SELECT count(distinct fd.userid) FROM prefix_forum_discussions as fd WHERE fd.forum = f.id) as UniqueUsersDiscussions&lt;br /&gt;
,(SELECT count(fp.id) FROM prefix_forum_discussions fd JOIN prefix_forum_posts as fp ON fd.id = fp.discussion WHERE f.id = fd.forum) as Posts&lt;br /&gt;
,(SELECT count(distinct fp.userid) FROM prefix_forum_discussions fd JOIN prefix_forum_posts as fp ON fd.id = fp.discussion WHERE f.id = fd.forum) as UniqueUsersPosts&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Students&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid =5&lt;br /&gt;
AND ctx.instanceid = c.id&lt;br /&gt;
) AS StudentsCount&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Teachers&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid =3&lt;br /&gt;
AND ctx.instanceid = c.id&lt;br /&gt;
) AS &#039;Teacher&amp;lt;br/&amp;gt;Count&#039;&lt;br /&gt;
,(SELECT Count( ra.userid ) AS Users&lt;br /&gt;
FROM prefix_role_assignments AS ra&lt;br /&gt;
JOIN prefix_context AS ctx ON ra.contextid = ctx.id&lt;br /&gt;
WHERE ra.roleid IN (3,5)&lt;br /&gt;
AND ctx.instanceid = c.id&lt;br /&gt;
) AS UserCount&lt;br /&gt;
, (SELECT (UniqueUsersDiscussions / StudentsCount )) as StudentDissUsage&lt;br /&gt;
, (SELECT (UniqueUsersPosts /StudentsCount)) as StudentPostUsage&lt;br /&gt;
FROM prefix_forum as f &lt;br /&gt;
JOIN prefix_course as c ON f.course = c.id&lt;br /&gt;
WHERE `type` != &#039;news&#039;&lt;br /&gt;
ORDER BY StudentPostUsage DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All Forum type:NEWS===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT f.id, f.name&lt;br /&gt;
FROM prefix_course_modules AS cm&lt;br /&gt;
JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
JOIN prefix_forum AS f ON cm.instance = f.id&lt;br /&gt;
WHERE m.name = &#039;forum&#039;&lt;br /&gt;
AND f.type = &#039;news&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===All new forum NEWS items (discussions) from all my Courses===&lt;br /&gt;
change &amp;quot;userid = 26&amp;quot; and &amp;quot;id = 26&amp;quot; to a new user id&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT c.shortname,f.name,fd.name,FROM_UNIXTIME(fd.timemodified ,&amp;quot;%d %M %Y &amp;quot;) as Date&lt;br /&gt;
FROM prefix_forum_discussions as fd &lt;br /&gt;
JOIN prefix_forum as f ON f.id = fd.forum &lt;br /&gt;
JOIN prefix_course as c ON c.id = f.course &lt;br /&gt;
JOIN prefix_user_lastaccess as ul ON (c.id = ul.courseid AND ul.userid = 26)&lt;br /&gt;
WHERE fd.timemodified &amp;gt; ul.timeaccess  &lt;br /&gt;
 AND fd.forum IN (SELECT f.id&lt;br /&gt;
 FROM prefix_course_modules AS cm&lt;br /&gt;
 JOIN prefix_modules AS m ON cm.module = m.id&lt;br /&gt;
 JOIN prefix_forum AS f ON cm.instance = f.id&lt;br /&gt;
 WHERE m.name = &#039;forum&#039;&lt;br /&gt;
 AND f.type = &#039;news&#039;)&lt;br /&gt;
  AND c.id IN (SELECT c.id&lt;br /&gt;
   FROM prefix_course AS c&lt;br /&gt;
   JOIN prefix_context AS ctx ON c.id = ctx.instanceid&lt;br /&gt;
   JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id&lt;br /&gt;
   JOIN prefix_user AS u ON u.id = ra.userid&lt;br /&gt;
   WHERE u.id = 26) ORDER BY `fd`.`timemodified` DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===News Forum - Discussions COUNT===&lt;br /&gt;
Which is actually... How much instructions students get from their teachers&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT c.shortname ,&lt;br /&gt;
concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
,( SELECT DISTINCT CONCAT(u.firstname,&#039; &#039;,u.lastname)&lt;br /&gt;
  FROM prefix_role_assignments AS ra&lt;br /&gt;
  JOIN prefix_user AS u ON ra.userid = u.id&lt;br /&gt;
  JOIN prefix_context AS ctx ON ctx.id = ra.contextid&lt;br /&gt;
  WHERE ra.roleid = 3 AND ctx.instanceid = c.id AND ctx.contextlevel = 50 LIMIT 1) AS Teacher&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/forum/view.php?f=&#039;,fd.forum,&#039;&amp;quot;&amp;gt;&#039;,count(fd.id),&#039;&amp;lt;/a&amp;gt;&#039;) AS DiscussionsSum&lt;br /&gt;
FROM prefix_forum_discussions AS fd&lt;br /&gt;
INNER JOIN prefix_forum AS f ON f.id = fd.forum&lt;br /&gt;
INNER JOIN prefix_course AS c ON c.id = f.course&lt;br /&gt;
WHERE f.type = &#039;news&#039; AND c.category IN (10,13,28,18,26)&lt;br /&gt;
GROUP BY fd.forum&lt;br /&gt;
ORDER BY count(fd.id) DESC&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quiz Module Reports==&lt;br /&gt;
===Generate a list of instructors and their email addresses for those courses that has &amp;quot;essay questions&amp;quot; in their quizzes===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT qu.id AS quiz_id, qu.course AS course_id, qu.questions,&lt;br /&gt;
                co.fullname AS course_fullname, co.shortname AS course_shortname,&lt;br /&gt;
                qu.name AS quiz_name, FROM_UNIXTIME(qu.timeopen) AS quiz_timeopen, FROM_UNIXTIME(qu.timeclose) AS quiz_timeclose,&lt;br /&gt;
                u.firstname, u.lastname, u.email,&lt;br /&gt;
FROM mdl_quiz qu, mdl_course co, mdl_role re, mdl_context ct, mdl_role_assignments ra, mdl_user u&lt;br /&gt;
WHERE FROM_UNIXTIME(timeopen) &amp;gt; &#039;2008-05-14&#039; AND&lt;br /&gt;
                qu.course = co.id AND&lt;br /&gt;
                co.id = ct.instanceid AND&lt;br /&gt;
                ra.roleid = re.id AND&lt;br /&gt;
                re.name = &#039;Teacher&#039; AND&lt;br /&gt;
                ra.contextid = ct.id AND&lt;br /&gt;
                ra.userid = u.id&lt;br /&gt;
 &lt;br /&gt;
SELECT Count(&#039;x&#039;) As NumOfStudents&lt;br /&gt;
                                FROM mdl_role_assignments a&lt;br /&gt;
                                JOIN mdl_user u ON userid = u.id&lt;br /&gt;
                                WHERE roleid = 5 AND contextid = (SELECT id FROM mdl_context WHERE instanceid = 668 AND contextlevel = 50)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Number of Quizes per Course===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT count(*)&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/course/view.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/quiz/index.php?id=&#039;,c.id,&#039;&amp;quot;&amp;gt;Link&amp;lt;/a&amp;gt;&#039;) AS Quizes&lt;br /&gt;
&lt;br /&gt;
FROM prefix_course_modules cm&lt;br /&gt;
JOIN prefix_course c ON c.id = cm.course&lt;br /&gt;
JOIN prefix_modules as m ON m.id = cm.module&lt;br /&gt;
WHERE m.name LIKE &#039;quiz&#039;&lt;br /&gt;
GROUP BY c.id&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List all MultiAnswer (Cloze) Questions===&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/mod/quiz/attempt.php?q=&#039;, quiz.id, &#039;&amp;quot;&amp;gt;&#039;, quiz.name, &#039;&amp;lt;/a&amp;gt;&#039;) AS Quiz&lt;br /&gt;
,question.id question_id, question.questiontext &lt;br /&gt;
FROM  prefix_question question&lt;br /&gt;
JOIN prefix_quiz_question_instances qqi ON question.id = qqi.question&lt;br /&gt;
JOIN prefix_quiz quiz ON qqi.quiz = quiz.id&lt;br /&gt;
WHERE  `qtype` LIKE  &#039;multianswer&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List courses with MANUAL grades===&lt;br /&gt;
Which is basically and indication to teachers using Moodle to hold offline grades inside Moodle&#039;s Grade-Book,&lt;br /&gt;
So grades could be uploaded into an administrative SIS.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT COUNT( * )&lt;br /&gt;
,concat(&#039;&amp;lt;a target=&amp;quot;_new&amp;quot; href=&amp;quot;%%WWWROOT%%/grade/edit/tree/index.php?showadvanced=1&amp;amp;id=&#039;,c.id,&#039;&amp;quot;&amp;gt;&#039;,c.fullname,&#039;&amp;lt;/a&amp;gt;&#039;) AS Course&lt;br /&gt;
FROM  prefix_grade_items AS gi&lt;br /&gt;
JOIN prefix_course as c ON c.id = gi.courseid&lt;br /&gt;
WHERE  `itemtype` =  &#039;manual&#039;&lt;br /&gt;
GROUP BY courseid&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
===List the users that did not took the Quiz===&lt;br /&gt;
Do not forget to change &amp;quot;c.id = 14&amp;quot; and q.name LIKE &#039;%quiz name goes here%&#039;&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT&lt;br /&gt;
user2.id AS ID,&lt;br /&gt;
ul.timeaccess,&lt;br /&gt;
user2.firstname AS Firstname,&lt;br /&gt;
user2.lastname AS Lastname,&lt;br /&gt;
user2.email AS Email,&lt;br /&gt;
user2.username AS IDNumber,&lt;br /&gt;
user2.institution AS Institution,&lt;br /&gt;
 &lt;br /&gt;
IF (user2.lastaccess = 0,&#039;never&#039;,&lt;br /&gt;
DATE_FORMAT(FROM_UNIXTIME(user2.lastaccess),&#039;%Y-%m-%d&#039;)) AS dLastAccess&lt;br /&gt;
 &lt;br /&gt;
,(SELECT DATE_FORMAT(FROM_UNIXTIME(timeaccess),&#039;%Y-%m-%d&#039;) FROM prefix_user_lastaccess WHERE userid=user2.id AND courseid=c.id) AS CourseLastAccess&lt;br /&gt;
 &lt;br /&gt;
,(SELECT r.name&lt;br /&gt;
FROM  prefix_user_enrolments AS uenrol&lt;br /&gt;
JOIN prefix_enrol AS e ON e.id = uenrol.enrolid&lt;br /&gt;
JOIN prefix_role AS r ON e.id = r.id&lt;br /&gt;
WHERE uenrol.userid=user2.id AND e.courseid = c.id) AS RoleName&lt;br /&gt;
 &lt;br /&gt;
FROM prefix_user_enrolments AS ue&lt;br /&gt;
JOIN prefix_enrol AS e ON e.id = ue.enrolid&lt;br /&gt;
JOIN prefix_course AS c ON c.id = e.courseid&lt;br /&gt;
JOIN prefix_user AS user2 ON user2 .id = ue.userid&lt;br /&gt;
LEFT JOIN prefix_user_lastaccess AS ul ON ul.userid = user2.id&lt;br /&gt;
WHERE c.id=14 and ue.userid NOT IN (SELECT qa.userid FROM prefix_quiz_attempts AS qa&lt;br /&gt;
JOIN prefix_quiz AS q ON qa.quiz = q.id&lt;br /&gt;
JOIN prefix_course AS c ON q.course = c.id&lt;br /&gt;
WHERE c.id = 14 AND q.name LIKE &#039;%quiz name goes here%&#039;)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SCORM Activity Reports==&lt;br /&gt;
&lt;br /&gt;
===Lists All completed SCORM activites by Course name===&lt;br /&gt;
This report will list all completed attempts for all SCORM activities. It is ordered first by Course name, then student&#039;s last name, then student&#039;s first name, then attempt number. Please note: the FROM_UNIXTIME command is for MySQL.&lt;br /&gt;
&amp;lt;code sql&amp;gt;&lt;br /&gt;
SELECT u.firstname First,u.lastname Last,c.fullname Course, st.attempt Attempt,st.value Status,FROM_UNIXTIME(st.timemodified,&amp;quot;%m-%d-%Y&amp;quot;) Date &lt;br /&gt;
FROM prefix_scorm_scoes_track AS st &lt;br /&gt;
JOIN prefix_user AS u ON st.userid=u.id&lt;br /&gt;
JOIN prefix_scorm AS sc ON sc.id=st.scormid&lt;br /&gt;
JOIN prefix_course AS c ON c.id=sc.course&lt;br /&gt;
WHERE st.value=&#039;completed&#039; &lt;br /&gt;
ORDER BY c.fullname, u.lastname,u.firstname, st.attempt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Quiz_statistics_report&amp;diff=103306</id>
		<title>Quiz statistics report</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Quiz_statistics_report&amp;diff=103306"/>
		<updated>2013-02-21T22:23:02Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: video in link no longer available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quiz reports}}&lt;br /&gt;
&#039;&#039;Navigation &amp;gt; Course &amp;gt; Quiz name &amp;gt; Results &amp;gt; Statistics&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This report gives a statistical (psychometric) analysis of the quiz, and the questions within it. The top section of this report gives a summary of the whole quiz. The next section gives an analysis showing all questions in a table format. There are links in this section to edit individual questions or drill down into a detailed analysis of a particular question. The last section of this report is a bar graph of the percent of correct answers (Facility index) and the Discriminative efficiency index.&lt;br /&gt;
&lt;br /&gt;
The full report (overview, and detailed analysis of all questions) can be downloaded in a variety of formats, as can the quiz structure analysis table.&lt;br /&gt;
&lt;br /&gt;
===Overall quiz statistics===&lt;br /&gt;
Here are the details concerning information in this robust report.&lt;br /&gt;
&lt;br /&gt;
====Quiz information====&lt;br /&gt;
&lt;br /&gt;
This section gives some basic information about the test as a whole. You will see:&lt;br /&gt;
* Quiz name&lt;br /&gt;
* Course name&lt;br /&gt;
* Open and close dates (if applicable)&lt;br /&gt;
* Total number of first/graded attempts&lt;br /&gt;
* Average grade for first/all attempts&lt;br /&gt;
* Median grade&lt;br /&gt;
* Standard deviation of grades &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Skewness Skewness] and [http://en.wikipedia.org/wiki/Kurtosis Kurtosis] of the grade distribution&lt;br /&gt;
* Coefficient of internal consistency (sometimes called [http://en.wikipedia.org/wiki/Cronbach%27s_alpha Cronbach Alpha]) - This is a measure of whether all the items in the quiz are testing basically the same thing. Thus it measures the consistency of the text, which is a lower bound for the validity. Higher numbers here are better.&lt;br /&gt;
* Error ratio - the variation in the grades comes from two sources. First some students are better than others at what is being tested, and second there is some random variation. We hope that the quiz grades will largely be determined by the student&#039;s ability, and that random variation will be minimised. The error ratio estimates how much of the variation is random, and so lower is better.&lt;br /&gt;
* Standard error - this is derived from the error ratio, and is a measure of how much random variation there is in each test grade. So, if the Standard error is 10%, and a student scored 60%, then their real ability probably lies somewhere between 50% and 70%.&lt;br /&gt;
[[File:Quiz_results_statistics_information.png|thumb|center|Example of quiz information section]]&lt;br /&gt;
&lt;br /&gt;
====Quiz structure analysis====&lt;br /&gt;
&lt;br /&gt;
This section lists all the questions in the quiz with various statistics in a table format.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Q#&#039;&#039;&#039; - shows the question number (position), question type icon, and preview and edit icons&lt;br /&gt;
* &#039;&#039;&#039;Question name&#039;&#039;&#039; - the name is also a link to the detailed analysis of this question (See Quiz Question Statistics below).&lt;br /&gt;
* &#039;&#039;&#039;Attempts&#039;&#039;&#039; - how many students attempted this question.&lt;br /&gt;
* &#039;&#039;&#039;Facility Index&#039;&#039;&#039; - the percentage of students that answered the question correctly.&lt;br /&gt;
* &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Standard_deviation Standard Deviation]&#039;&#039;&#039; - how much variation there was in the scores for this question.&lt;br /&gt;
* &#039;&#039;&#039;Random guess score&#039;&#039;&#039; - the score the student would get by guessing randomly&lt;br /&gt;
* &#039;&#039;&#039;Intended/Effective weight&#039;&#039;&#039; - Intended weight is simply what you set up when editing the quiz. If question 1 is worth 3 marks out of a total of 10 for the quiz, the the intended weight is 30%. The effective weight is an attempt to estimate, from the results, how much of the actual variation was due to this question. So, ideally the effective weights should be close to the intended weights.&lt;br /&gt;
* &#039;&#039;&#039;Discrimination index&#039;&#039;&#039; - this is the correlation between the score for this question and the score for the whole quiz. That is, for a good question, you hope that the students who score highly on this question are the same students who score highly on the whole quiz. Higher numbers are better.&lt;br /&gt;
* &#039;&#039;&#039;Discriminative efficiency&#039;&#039;&#039; - another measure that is similar to Discrimination index.&lt;br /&gt;
&lt;br /&gt;
:Where random questions are used, there is one row in the table for the random question, followed by further rows, one for each real question that was selected in place of this random question.&lt;br /&gt;
:When quiz questions are randomized for each quiz, the quiz module determines a default position.&lt;br /&gt;
:[[:dev:Quiz_statistics_calculations|Quiz statistics calculations]] gives further details on all these quantities.&lt;br /&gt;
[[File:Quiz_results_statistics_structure_analysis.png|thumb|center|Example of statistics structural analysis section]]&lt;br /&gt;
====Quiz statistics chart====&lt;br /&gt;
[[File:Quiz_results_statistics_chart.png|thumb|center|Chart example]]&lt;br /&gt;
&lt;br /&gt;
===Quiz question statistics===&lt;br /&gt;
Navigation &amp;gt; quiz&#039;s name &amp;gt; Results &amp;gt; Statistics (click on any question title)&lt;br /&gt;
It is possible to see the statistics for one question on a single page.  This view will also tell you what percentage of quiz takers selected each answer (Analysis of responses) and give you basic information about the question.&lt;br /&gt;
&lt;br /&gt;
*Question information- The basic information about the question, the name of the quiz, the question, the question type, the position in the quiz and the question itself. There are preview and edit icons in this page.&lt;br /&gt;
*Question statistics - This repeats the information from the table row from the Quiz structure analysis that relates to this question.&lt;br /&gt;
*Report options - You can choose whether to run the report on all attempts, or just the first attempt by each student. Some of the calculations used in the report are based on assumptions that may not apply to quizzes that allow more than one attempt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; Computing the statistics takes some time, the report will store the computed values and re-use them for up to 15 minutes. Therefore, there is a display of how recently the statistics were calculated, with a button to recalculate them immediatel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Quiz_results_statistics_individual_question_preferences.png|Individual question page preferences&lt;br /&gt;
File:Quiz_results_statistics_individual_question_information.png|Individual question&#039;s information&lt;br /&gt;
File:Quiz_results_statistics_individual_question_statistics.png|Individual question&#039;s statistic information&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Analysis of individual question responses====&lt;br /&gt;
&lt;br /&gt;
This gives a frequency analysis of the different responses that were given to each part of the question. The details of the analysis depends on the question type, and not all question types support this. For example, essay question responses cannot be analyzed.&lt;br /&gt;
&lt;br /&gt;
[[File:Quiz_results_statistics_individual_question_analysis_responses.png|thumb|center|Individual question&#039;s responses statistic information]]&lt;br /&gt;
&lt;br /&gt;
[[de:Test-Statistik]]&lt;br /&gt;
[[es:Quiz_statistics_report]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Amazon_EC2_Cloud_Services_Installation&amp;diff=96887</id>
		<title>Amazon EC2 Cloud Services Installation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Amazon_EC2_Cloud_Services_Installation&amp;diff=96887"/>
		<updated>2012-04-11T11:44:10Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is essentially a linux box in the cloud but at the time of writing I did not like to add it to the Linux category, it seems more general than that somehow. If this install lacks detail or doesn&#039;t work then see comments attached to this page. I start this off with some assumptions and then go though a full install using the cli. &lt;br /&gt;
The assumptions are that you have an Amazon 32 bit EC2 Linux server setup and you have ssh &amp;amp; http access to it.&lt;br /&gt;
&lt;br /&gt;
= Install all the requirements =&lt;br /&gt;
From the cli as root or sudo&lt;br /&gt;
&lt;br /&gt;
 yum install httpd&lt;br /&gt;
 yum install mysql-server &lt;br /&gt;
 yum install git&lt;br /&gt;
 yum install php&lt;br /&gt;
 yum install php-gd &lt;br /&gt;
 yum install php-pear&lt;br /&gt;
 yum install php-mbstring&lt;br /&gt;
 yum install php-mcrypt &lt;br /&gt;
 yum install php-mbstring &lt;br /&gt;
 yum install memcached &lt;br /&gt;
 yum install php-mcrypt &lt;br /&gt;
 yum install php-zts &lt;br /&gt;
 yum install php-xmlrpc &lt;br /&gt;
 yum install php-soap &lt;br /&gt;
 yum install php-intl &lt;br /&gt;
 yum install php-zip &lt;br /&gt;
 yum install php-zts&lt;br /&gt;
 yum install php-xml&lt;br /&gt;
&lt;br /&gt;
= To ensure that mysql and httpd come up on boot. =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 chkconfig mysqld on &lt;br /&gt;
 chkconfig httpd on&lt;br /&gt;
&lt;br /&gt;
= To ensure that utf8 is used by mysql = &lt;br /&gt;
&lt;br /&gt;
edit /etc/my.cnf to read as follows (I have found that the precise lines required seem to vary as time goes on)&lt;br /&gt;
Back up my.cnf first with &lt;br /&gt;
 cp /etc/my.cnf /etc/mycnf.original&lt;br /&gt;
&lt;br /&gt;
Then edit to read&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 default-character-set=utf8&lt;br /&gt;
 default-collation=utf8_unicode_ci&lt;br /&gt;
 character-set-server=utf8&lt;br /&gt;
 collation-server=utf8_unicode_ci&lt;br /&gt;
 datadir=/var/lib/mysql&lt;br /&gt;
 socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
 user=mysql&lt;br /&gt;
 # Disabling symbolic-links is recommended to prevent assorted security risks&lt;br /&gt;
 symbolic-links=0&lt;br /&gt;
 [mysqld_safe]&lt;br /&gt;
 log-error=/var/log/mysqld.log&lt;br /&gt;
 pid-file=/var/run/mysqld/mysqld.pid&lt;br /&gt;
 [client]&lt;br /&gt;
 default-character-set=utf8&lt;br /&gt;
&lt;br /&gt;
Check that mysql restarts with &lt;br /&gt;
 service mysqld restart&lt;br /&gt;
&lt;br /&gt;
NB edit. Later with FC16 I found that I needed to make my.cnf read&lt;br /&gt;
&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 # Settings user and group are ignored when systemd is used.&lt;br /&gt;
 # If you need to run mysqld under different user or group, &lt;br /&gt;
 # customize your systemd unit file for mysqld according to the&lt;br /&gt;
 # instructions in http://fedoraproject.org/wiki/Systemd&lt;br /&gt;
 character-set-server=utf8&lt;br /&gt;
 collation-server=utf8_unicode_ci&lt;br /&gt;
 datadir=/var/lib/mysql&lt;br /&gt;
 socket=/var/lib/mysql/mysql.sock&lt;br /&gt;
 # Disabling symbolic-links is recommended to prevent assorted security risks&lt;br /&gt;
 symbolic-links=0&lt;br /&gt;
&lt;br /&gt;
 [mysqld_safe]&lt;br /&gt;
 log-error=/var/log/mysqld.log&lt;br /&gt;
 pid-file=/var/run/mysqld/mysqld.pid&lt;br /&gt;
&lt;br /&gt;
= In order to make sure php is included when httpd comes up =&lt;br /&gt;
&lt;br /&gt;
make sure you have a file called /etc/httpd/conf.d/php.conf whose contents are like the following&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfModule prefork.c&amp;gt;&lt;br /&gt;
 LoadModule php5_module modules/libphp5.so&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt; &amp;lt;IfModule worker.c&amp;gt;&lt;br /&gt;
 LoadModule php5_module modules/libphp5-zts.so&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
 AddHandler php5-script .php AddType text/html .php&lt;br /&gt;
 DirectoryIndex index.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the time of writing 26-01-2012) (php-common should provide zip.so but it doesn&#039;t so I have put a copy here (http://moodle.org/mod/forum/discuss.php?d=194589))&lt;br /&gt;
Attached to a forum post. Perhaps a wiki buff could fix that better.&lt;br /&gt;
&lt;br /&gt;
Once you have got zip.so, put it in /usr/lib/php/modules&lt;br /&gt;
&lt;br /&gt;
Also you need to add&lt;br /&gt;
&lt;br /&gt;
 extension=zip.so&lt;br /&gt;
&lt;br /&gt;
to your php.ini (in /etc)&lt;br /&gt;
&lt;br /&gt;
= Create the database, database user and access rights =&lt;br /&gt;
run&lt;br /&gt;
&lt;br /&gt;
 mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Answer all the questions conservatively. (e.g. You will not need test databases or for root to have any other mysql access than local.) This will create a root mysql pw for you. Mysql users are nothing whatsoever to do with you unix users.&lt;br /&gt;
&lt;br /&gt;
run&lt;br /&gt;
  mysql -u root -p&lt;br /&gt;
 &amp;lt;password you set above&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In mysql you need to &lt;br /&gt;
&lt;br /&gt;
1. make a database. The name can be anything you like. I used moodledb&lt;br /&gt;
&lt;br /&gt;
2. make a database user. The name can be anything you like. I used moodledbuser.&lt;br /&gt;
&lt;br /&gt;
3. give that user rights to access the database from the localhost. &lt;br /&gt;
&lt;br /&gt;
4. No db access is required by anyone from any other host than the localhost&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Now you are in mysql and all the commands are mysql commands and could equally be run on a windows instance of mysql. Do not forget the &amp;quot;;&amp;quot; after each command.&lt;br /&gt;
&lt;br /&gt;
 create database moodledb;&lt;br /&gt;
 grant all privileges on moodledb.* to moodledbuser@localhost identified by &#039;&amp;lt;put a pw here&amp;gt;&#039;;&lt;br /&gt;
 quit&lt;br /&gt;
&lt;br /&gt;
TEST the above by doing&lt;br /&gt;
&lt;br /&gt;
 mysql -u moodledbuser -p&lt;br /&gt;
 &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get connected OK then you can go on and quit.&lt;br /&gt;
&lt;br /&gt;
= Create moodledata folder =&lt;br /&gt;
 mkdir /var/www/moodledata&lt;br /&gt;
&lt;br /&gt;
The default root folder for apache is /var/www/html and so moodledata is not accessible from the web.&lt;br /&gt;
Next, give the apache user all the access rights to moodledata. This is better than chmod 777 which some users seem to do.&lt;br /&gt;
&lt;br /&gt;
 chown apache:apache /var/www/moodledata&lt;br /&gt;
&lt;br /&gt;
= Fetch moodle =&lt;br /&gt;
&lt;br /&gt;
 cd /var/www/html&lt;br /&gt;
 git clone git://git.moodle.org/moodle.git&lt;br /&gt;
&lt;br /&gt;
This should put all of moodle in a directory called moodle in the correct folder /var/www/html. It takes a while but you get %age feedback.&lt;br /&gt;
&lt;br /&gt;
There are more sophisticated git commands, see git docs in moodle docs for more info.&lt;br /&gt;
Also, you may give the apache user ownership of the site, this way, when you install, the script will be able to create the config.php file.&lt;br /&gt;
If you leave the owner as root, you will have to paste the suggested config.php into /var/www/html/moodle&lt;br /&gt;
&lt;br /&gt;
To give apache ownership do&lt;br /&gt;
&lt;br /&gt;
 chown -R apache:apache /var/www/html/moodle&lt;br /&gt;
&lt;br /&gt;
= Do the install =&lt;br /&gt;
&lt;br /&gt;
Visit http://&amp;lt;your amazon host&amp;gt;/moodle&lt;br /&gt;
&lt;br /&gt;
Well, it worked for me!&lt;br /&gt;
&lt;br /&gt;
= Other Resources = &lt;br /&gt;
&lt;br /&gt;
For another method of using Amazon EC2 for Moodle hosting you can utilize the free image created by Bitnami.org: http://bitnami.org/stack/moodle which makes creating a Moodle server on Amazon a snap (no command line necessary)&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Free_Moodle&amp;diff=87811</id>
		<title>Free Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Free_Moodle&amp;diff=87811"/>
		<updated>2011-08-15T16:44:30Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Improve}}{{Try Moodle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;100%&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Org&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;URL&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Ads?&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;3rd party plug-ins&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Mobile-Enabled&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Support&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Business &amp;lt;/strong&amp;gt;&amp;lt;strong&amp;gt;Plan&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Limits&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Comm-&amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt;unity&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;Basic Plan&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MoodleReader&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://moodlereader.org&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Graded reader module&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;email/forums&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;University/Gov&#039;t funded&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Legit edu orgs only&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;25+&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1 course, full access to the module &amp;amp;amp; 900+ book resources&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MDL2.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://mdl2.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;FAQs&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ad supported&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;250 MB upload&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;full Moodle 2.0 site with Admin access&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ninehub&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://ninehub.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web development company&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full admin rights; unrestricted &amp;amp;amp; unlimited disk space&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;iTeach.org&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://iteach.org&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;For teachers, by teachers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;100MB&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Must be a current teacher in a US private/public school (verified by phone&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;FreeWebClass&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://www.FreeWebClass.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Freemium&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;35 user limit (for free version); 1 GB bandwidth; 10 GB storage&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;MoodleShare&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://courses.moodleshare.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1 course&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;editing teacher rights&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Sqooltools&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://sqooltools.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes^&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;self serve is free, $10 per ticket for help desk&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Freemium model&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;k-12 only, 1 course, 30 students, 250MB&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Gnomio&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://gnomio.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;mle&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Donations&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1000+ sites&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full admin rights; honor code (no large files)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;KeytoSchool²&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://keytoschool.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;coming&lt;br /&gt;
soon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;forums&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Non-profit/Freemium&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;help site/FAQs&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Full admin rights; 500 users &amp;amp;amp; 1/2 GB storage&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;TuitionClass&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://tuitionclass.net&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Supported by service/hosting company&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;128 MB upload limit&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Editing teacher/course creation rights&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;e-Socrates²&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://e-socrates.org&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;yes&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;forums (English and Italian)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;IT company, focused on open source software&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;courses must be open&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1000+ courses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1 course&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Learning&lt;br /&gt;
Objectivity²&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://learningobjectivity.com&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;self serve, email&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Consultancy&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;67 courses&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1 course&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;000webhost¹&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;http://www.000webhost.com/&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;no&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Freemium&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1.5 GB storage; 100 GB bandwidth&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;NA&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;full admin rights&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
^audio recording only, other 3rd party modules with paid contract.&lt;br /&gt;
&lt;br /&gt;
¹note that this enables site set up via cPanel&lt;br /&gt;
&lt;br /&gt;
²these hosting companies are currently not accepting new registrants.  In the case of K2S it&#039;s been said that they are waiting for the release of Moodle 2.0.&lt;br /&gt;
&lt;br /&gt;
Originally created and published at http://www.Moodlenews.com/hosting&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Moodle_research&amp;diff=82073</id>
		<title>Moodle research</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Moodle_research&amp;diff=82073"/>
		<updated>2011-03-18T19:49:42Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* Print (papers, reports, collections, theses...) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A growing, community-contributed collection of research into LMS (Learning Management Systems) and particularly Moodle.&lt;br /&gt;
&lt;br /&gt;
=Moodle-specific research=&lt;br /&gt;
Academic, governmental, organisational research (mostly) involving Moodle (design, use, implementation...). Check [[Moodle research FAQ|here]] for details. &lt;br /&gt;
==Print (papers, reports, collections, theses...)==&lt;br /&gt;
*Rakoczi, Gergely. (2010) [http://www.fm-kp.si/zalozba/ISBN/978-961-266-066-6/prispevki/rakoczi.pdf &amp;quot;Cast your Eyes on Moodle: An Eye Tracking Study investigating learning with Moodle&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
==Presentations and videos==&lt;br /&gt;
==Other material (eg projects)==&lt;br /&gt;
&lt;br /&gt;
=LMS research - general=&lt;br /&gt;
Broader academic, governmental, organisational research on LMS/VLE useful to Moodle to learn from. Check [[Moodle research FAQ|here]] for details. &lt;br /&gt;
==Print (papers, reports, collections, theses...)==&lt;br /&gt;
*Carmean, C. &amp;amp; Haefner,J. (2002). [http://net.educause.edu/ir/library/pdf/ERM0261.pdf Mind over matter: Transforming course management systems into effective learning environments]. EDUCAUSE Review, Vol. 37, No. 6, pp. 27–33.&lt;br /&gt;
*Chang, Chinhong Lim (2008) [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/2530/2303 Faculty Perceptions and Utilization of a Learning Management System in Higher Education] (dissertation)&lt;br /&gt;
*Keesee, G. &amp;amp; Shepard, M.(2011) [http://www.westga.edu/~distance/ojdla/spring141/keesee_shepard141.html Perceived Attributes Predict Course Management System Adopter Status]. Online Journal of Distance Learning Administration, Vol 14/1.&lt;br /&gt;
*Lane, L. (2009) [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/2530/2303 Insidious pedagogy: How course management systems impact teaching]. First Monday, Vol. 14, Number 10 - 5 Oct 2009&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Ofsted OFSTED] (2009) [http://www.ofsted.gov.uk/Ofsted-home/Publications-and-research/Browse-all-by/Documents-by-type/Thematic-reports/Virtual-learning-environments-an-evaluation-of-their-development-in-a-sample-of-educational-settings Virtual learning environments: an evaluation of their development in a sample of educational settings].&lt;br /&gt;
&lt;br /&gt;
==Presentations and videos==&lt;br /&gt;
==Other material==&lt;br /&gt;
=Questions? Try here=&lt;br /&gt;
See the growing list at [[Moodle research FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Moodle_research&amp;diff=82072</id>
		<title>Moodle research</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Moodle_research&amp;diff=82072"/>
		<updated>2011-03-18T19:48:34Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* Print (papers, reports, collections, theses...) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A growing, community-contributed collection of research into LMS (Learning Management Systems) and particularly Moodle.&lt;br /&gt;
&lt;br /&gt;
=Moodle-specific research=&lt;br /&gt;
Academic, governmental, organisational research (mostly) involving Moodle (design, use, implementation...). Check [[Moodle research FAQ|here]] for details. &lt;br /&gt;
==Print (papers, reports, collections, theses...)==&lt;br /&gt;
*Rakoczi, Gergely. &amp;quot;Cast your Eyes on Moodle: An Eye Tracking Study investigating learning with Moodle&amp;quot; [http://www.fm-kp.si/zalozba/ISBN/978-961-266-066-6/prispevki/rakoczi.pdf]&lt;br /&gt;
&lt;br /&gt;
==Presentations and videos==&lt;br /&gt;
==Other material (eg projects)==&lt;br /&gt;
&lt;br /&gt;
=LMS research - general=&lt;br /&gt;
Broader academic, governmental, organisational research on LMS/VLE useful to Moodle to learn from. Check [[Moodle research FAQ|here]] for details. &lt;br /&gt;
==Print (papers, reports, collections, theses...)==&lt;br /&gt;
*Carmean, C. &amp;amp; Haefner,J. (2002). [http://net.educause.edu/ir/library/pdf/ERM0261.pdf Mind over matter: Transforming course management systems into effective learning environments]. EDUCAUSE Review, Vol. 37, No. 6, pp. 27–33.&lt;br /&gt;
*Chang, Chinhong Lim (2008) [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/2530/2303 Faculty Perceptions and Utilization of a Learning Management System in Higher Education] (dissertation)&lt;br /&gt;
*Keesee, G. &amp;amp; Shepard, M.(2011) [http://www.westga.edu/~distance/ojdla/spring141/keesee_shepard141.html Perceived Attributes Predict Course Management System Adopter Status]. Online Journal of Distance Learning Administration, Vol 14/1.&lt;br /&gt;
*Lane, L. (2009) [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/2530/2303 Insidious pedagogy: How course management systems impact teaching]. First Monday, Vol. 14, Number 10 - 5 Oct 2009&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Ofsted OFSTED] (2009) [http://www.ofsted.gov.uk/Ofsted-home/Publications-and-research/Browse-all-by/Documents-by-type/Thematic-reports/Virtual-learning-environments-an-evaluation-of-their-development-in-a-sample-of-educational-settings Virtual learning environments: an evaluation of their development in a sample of educational settings].&lt;br /&gt;
&lt;br /&gt;
==Presentations and videos==&lt;br /&gt;
==Other material==&lt;br /&gt;
=Questions? Try here=&lt;br /&gt;
See the growing list at [[Moodle research FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Project_Course_Format&amp;diff=81217</id>
		<title>Project Course Format</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Project_Course_Format&amp;diff=81217"/>
		<updated>2011-02-10T12:28:17Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Project Course Format 1.9 release 2 - 2008.07.03&lt;br /&gt;
* Project Course Format 1.9 release 3 - 2008.12.31 &lt;br /&gt;
* Project Course Format 1.9 release 4 - 2009.02.19&lt;br /&gt;
* Project Course Format 1.9 release 5 - 2009.11.30  (new: section delete feature added)&lt;br /&gt;
&lt;br /&gt;
==Purpose==&lt;br /&gt;
This is an optional course format for handling projects and other learning units with a variety of activities.  A course format changes the layout and operations of the main center column of a Moodle course.  Inside a course, you can select the format of a course by clicking on Admin &amp;gt;&amp;gt; Course Settings.  Typically, Topics format or Weekly format is used.  This format is like Topics format, except that each section of a course can be &amp;quot;packaged&amp;quot; separately.  It has a separate directory and it can be backed up separately with all resources and activities together.  The import function allows a teacher to share and move the section (project) anywhere on the site.  Fast resource creation and bulk media file upload are also possible.  This format is ideal for creating an in-house repository of learning packages and promoting teacher-to-teacher sharing of materials.  Note: for simply adding the &amp;quot;Quick Resource Creator&amp;quot; function, check the Modules and Plugins Database of moodle.org: http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=2880 (Thanks to Mike Wilson).&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* section directory&lt;br /&gt;
* section backup&lt;br /&gt;
* section import across site with auto-regeneration of media file links&lt;br /&gt;
* section delete&lt;br /&gt;
* quick resource creator&lt;br /&gt;
* bulk file uploader&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
This course format has been used since April 2008 in a full 1.9 production environment. Moving sections of courses has been increasingly more reliable, especially with quizzes which have a complicated set of categories and permissions. Since 2009, we have added the Sharing Cart: https://docs.moodle.org/en/Sharing_Cart, which is a separate block for moving individual course items.  We believe both the Project Course Format and Sharing Cart supports all standard modules plus some third party modules (Feedback, Project, Splitscreen).  Let us know which modules work or do not work in your environment.&lt;br /&gt;
&lt;br /&gt;
==Download &amp;amp; Installation==&lt;br /&gt;
To install: admin status needed, and use standard procedure for installing 3rd party plugins as follows.&lt;br /&gt;
#  Download from CVS: http://download.moodle.org/download.php/plugins/course/format/project.zip&lt;br /&gt;
#  Unzip this package&lt;br /&gt;
#  Place the &amp;quot;project&amp;quot; folder into the course/format/ folder of your Moodle 1.9 program files&lt;br /&gt;
#  Login as Admin and run &amp;quot;Notifications&amp;quot;&lt;br /&gt;
#  Go into a course where you have teacher or admin status.  Click on &amp;quot;Course settings&amp;quot;.&lt;br /&gt;
#  Change the course format to &amp;quot;project&amp;quot;.  &lt;br /&gt;
#  Turn &amp;quot;editing on&amp;quot; and you will see new icons appear.&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
Changes contributed by Tomonori Maruyama 2009.11.30&lt;br /&gt;
* section delete function added&lt;br /&gt;
Changes contributed by Akio Ohnishi and Tomonori Maruyama 2009.02.19&lt;br /&gt;
# new icons for resource upload and file upload&lt;br /&gt;
Changes contributed by Akio Ohnishi  2008.07.02&lt;br /&gt;
* AJAX fixed when enabled on the site.&lt;br /&gt;
Changes contributed by Matt Gibson  2008.07.03&lt;br /&gt;
# Upload links are now labelled &#039;Upload file(s) and display them here&#039; and &#039;Upload file(s) without displaying them yet&#039; - still not ideal, but just a personal preference.&lt;br /&gt;
# All links/icons have tooltips to elaborate on the imperfect titles&lt;br /&gt;
# The divs containing those links will no longer overlap each other on smaller screens, whilst using long titles&lt;br /&gt;
# Help files for backup/restore and directory name were the wrong way around&lt;br /&gt;
# The directory naming help button was missing&lt;br /&gt;
Changes contributed by Matt Gibson  2008.07.08&lt;br /&gt;
# Bug in quotation marks inside format.php file (inconsistant &amp;quot; and &#039; marks)&lt;br /&gt;
&lt;br /&gt;
==Bugs &amp;amp; Known Issues==&lt;br /&gt;
Please report bugs to Don Hinkelman (hinkel at sgu.ac.jp).  Known issues include:&lt;br /&gt;
&lt;br /&gt;
#  Importing a project for a second time in the same location may overwrite the old project without warning--previous user data will be lost. We recommend backing up the section first and renaming the section folder.&lt;br /&gt;
#  Converting from a topic-format course to a project format course will create new section directories and copy all associated media to those folders. Links in the activities/resources will be regenerated to those new media files and should not require manual correction of links. However, if you experience problems, please report to us.  Before doing a Topic-to-Project format conversation, double check to make sure you have a course backup in case you do not like the results of the conversion.&lt;br /&gt;
#  After you import a new section into your course, you may be prompted to change the name of the directory.  It is best to have a unique directory name for each section (across a course), however, this is not always enforced strictly.&lt;br /&gt;
#  When moving a resource or activity within a course, from one project to another (using the up/down arrow icon, or the AJAX icon), the associated media files or resource file does not move into the new section directory&lt;br /&gt;
#  This approach to backup/import may duplicate media files many times within a site.  This is not a problem for a site with its own server and sufficient hard disk capacity.  However, for limited capacity sites (such as on a shared hosting server), this course format could cause you to reach your limit sooner than expected.  Use carefully.&lt;br /&gt;
#  Fatal Errors:  These may occur do to problems outside of the Project Course Format.  Here is some advice on what to do: [[Sharing Cart/Project Format Errors]]&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
Design team:  Don Hinkelman and Andy Johnson  (hinkel at sgu.ac.jp)&lt;br /&gt;
Programming:  Akio Ohnishi and Tomonori Maruyama, Version2 Web Development&lt;br /&gt;
Funding:  Sapporo Gakuin University, Japan&lt;br /&gt;
&lt;br /&gt;
==Help Files==&lt;br /&gt;
1. English Help file &amp;quot;format/project/resourceupload.html&amp;quot;:&lt;br /&gt;
&#039;&#039;&#039;Quick Resource Upload&#039;&#039;&#039;&lt;br /&gt;
This is a quick way to upload a resource file into a section of a course. It will automatically name the resource with the same name as the original file. It can also be used to bulk upload an unlimited number of resources. This can save numerous steps and encourage teachers to take the time to publish their documents, handouts, and lesson files. However, be careful when selecting what to upload, because bulk upload is so easy, but there is no bulk delete or undo function. Each new resource must be deleted one-by-one. Any resource created by this method can be edited in the normal way.&lt;br /&gt;
&lt;br /&gt;
2. English Help file &amp;quot;format/project/cousefileupload.html&amp;quot;&lt;br /&gt;
&#039;&#039;&#039;Quick Course File Upload&#039;&#039;&#039;&lt;br /&gt;
This is a quick way to upload a batch of media files (audio, video, image, etc.) for any activity in your section/project. For example, if you want to create a quiz with many images and sound files, use this to locate, select, and upload those files. Click on the link, &amp;quot;Quick Course File Upload&amp;quot;, and then select the files anywhere on your hard disk. Click &amp;quot;Select&amp;quot; and these files will be instantly uploaded into the Course Files area of your course administration. When you do a backup or import into another course, these files will be included. After moving, a new path to these files will be built in each activity that has links to these files.&lt;br /&gt;
&lt;br /&gt;
3. English Help file &amp;quot;format/project/sectionbackuprestore.html&amp;quot;&lt;br /&gt;
&#039;&#039;&#039;Section Backup and Import&#039;&#039;&#039;&lt;br /&gt;
The first icon in this pair of icons (on the left) is for section backup. It will backup all the activities, resources and associated course files into one package. It does not backup any user data or user files. This is useful if you want to send or exchange a zip file to another site or another teacher on a different site. The second icon (on the right) is more important. It is an import icon. First, you have to know the location of a good section/project you want to import into your course. After you have got the location in another course, you normally will go to an empty section in your destination course and click on this. When you click on this, you will have to select the original course, and then you will select one of the sections of that course.&lt;br /&gt;
&lt;br /&gt;
4. Help file &amp;quot;format/project/directoryname.html&amp;quot;&lt;br /&gt;
&#039;&#039;&#039;Section Directory Name&#039;&#039;&#039;&lt;br /&gt;
In the Project Course Format, each section has its own folder. The folder is kept in Admin &amp;gt;&amp;gt; FIles of each course (not the Site Files). This folder holds the media files and resources that belong to the section (project/topic/theme). Initially, each section folder is named &amp;quot;section01&amp;quot;,&amp;quot; section02&amp;quot;,&amp;quot; section03&amp;quot; and so on. However, for moving and importing across the site, it is important that each folder have a unique name. You will be prompted to make a unique name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
[[Category:Course format]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Dropbox_repository&amp;diff=80850</id>
		<title>Dropbox repository</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Dropbox_repository&amp;diff=80850"/>
		<updated>2011-01-27T00:00:39Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}{{Moodle 2.0}}&lt;br /&gt;
&lt;br /&gt;
A Dropbox repository can be enabled by an administrator in &#039;&#039;Site administration &amp;gt; Modules &amp;gt; Repositories &amp;gt; Manage repositories&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
Once enabled by the administrator a Dropbox API Key and Secret will need to be added to the Dropbox settings in order for it to work.  This will be &#039;&#039;the&#039;&#039; Dropbox available to all users throughout the site (and each will need the correct Dropbox login credentials to access it from their courses).  To gather the Dropbox API Key and Secret click the &amp;quot;Dropbox Developers&amp;quot; link on the Dropbox repository settings page.  On the next page you&#039;ll be prompted to login with your Dropbox username and password and to create a Dropbox app.  &lt;br /&gt;
&lt;br /&gt;
Once the App has been created at Dropbox.com you&#039;ll have the API Secret and Key available at the bottom of the App page.  Entering those on the Dropbox settings page (and clicking Save) back in Moodle will finish the configuration.  Dropbox is now available to the entire site.  &lt;br /&gt;
&lt;br /&gt;
To access it editing teachers need only &amp;quot;Add...&amp;quot; a new file while editing or creating a resource to see Dropbox as a new option.  &lt;br /&gt;
&lt;br /&gt;
==Configuration for Multiple Users==&lt;br /&gt;
Logging in with a different account from which the Dropbox App was created results in this error &amp;quot;Only the app owner can receive access token while this app is in development mode&amp;quot;.  To configure the Dropbox repository for multiple users you must...&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [http://www.youtube.com/watch?v=V221JLCywWs Import files from Dropbox into Moodle 2.0 video]&lt;br /&gt;
* MDL-19168&lt;br /&gt;
&lt;br /&gt;
[[Category:Repositories]]&lt;br /&gt;
[[de:Dropbox]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Development_talk:Mobile_app&amp;diff=73907</id>
		<title>Development talk:Mobile app</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Development_talk:Mobile_app&amp;diff=73907"/>
		<updated>2010-07-13T13:58:56Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: New page: I&amp;#039;d love to see the ability for students to take quizzes be included in a 1.0 mobile app.  Comparative LMS (BB) have not yet achieved this with their own Mobile apps and it would be a boon...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;d love to see the ability for students to take quizzes be included in a 1.0 mobile app.  Comparative LMS (BB) have not yet achieved this with their own Mobile apps and it would be a boon for mobile learning (or learning utilizing tablet devices).&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73445</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73445"/>
		<updated>2010-06-29T20:23:23Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* Web apps: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Work in progress}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
=== Native Apps: ===&lt;br /&gt;
* [http://www.moodletouch.com MoodleTouch] created by Ali OzGur (available April 2010)&lt;br /&gt;
* [http://mpage.hk/ mPage] created by Mass Media, HK (available May 24, 2010)&lt;br /&gt;
&lt;br /&gt;
=== Web apps: ===&lt;br /&gt;
* [http://iphone.moodle.com.au iPhone4Moodle] (available 2010)&lt;br /&gt;
* Moodle for Mobiles: [http://www.mobilemoodle.org/momo18/ MoMo]&lt;br /&gt;
* [http://code.google.com/p/moodbile/ Moodbile]&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system.&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
* [http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73444</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73444"/>
		<updated>2010-06-29T20:10:09Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* Web apps: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Work in progress}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
=== Native Apps: ===&lt;br /&gt;
* [http://www.moodletouch.com MoodleTouch] created by Ali OzGur (available April 2010)&lt;br /&gt;
* [http://mpage.hk/ mPage] created by Mass Media, HK (available May 24, 2010)&lt;br /&gt;
&lt;br /&gt;
=== Web apps: ===&lt;br /&gt;
* [http://mle.sourceforge.com Mobile LE] &lt;br /&gt;
* [http://iphone.moodle.com.au iPhone4Moodle] (available 2010)&lt;br /&gt;
* Moodle for Mobiles: [http://www.mobilemoodle.org/momo18/ MoMo]&lt;br /&gt;
* [http://code.google.com/p/moodbile/ Moodbile]&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system.&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
* [http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73443</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73443"/>
		<updated>2010-06-29T20:09:52Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* MLE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Work in progress}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
=== Native Apps: ===&lt;br /&gt;
* [http://www.moodletouch.com MoodleTouch] created by Ali OzGur (available April 2010)&lt;br /&gt;
* [http://mpage.hk/ mPage] created by Mass Media, HK (available May 24, 2010)&lt;br /&gt;
&lt;br /&gt;
=== Web apps: ===&lt;br /&gt;
* [http://mle.sourceforge.com Mobile LE] &lt;br /&gt;
* [http://iphone.moodle.com.au iPhone4Moodle] (available 2010)&lt;br /&gt;
* Moodle for Mobiles: [http://www.mobilemoodle.org/momo18/ MoMo]&lt;br /&gt;
* [http://code.google.com/p/moodbile/ Moodbile]&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
* [http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73442</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73442"/>
		<updated>2010-06-29T20:09:05Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* Web apps: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Work in progress}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
=== Native Apps: ===&lt;br /&gt;
* [http://www.moodletouch.com MoodleTouch] created by Ali OzGur (available April 2010)&lt;br /&gt;
* [http://mpage.hk/ mPage] created by Mass Media, HK (available May 24, 2010)&lt;br /&gt;
&lt;br /&gt;
=== Web apps: ===&lt;br /&gt;
* [http://mle.sourceforge.com Mobile LE] &lt;br /&gt;
* [http://iphone.moodle.com.au iPhone4Moodle] (available 2010)&lt;br /&gt;
* Moodle for Mobiles: [http://www.mobilemoodle.org/momo18/ MoMo]&lt;br /&gt;
* [http://code.google.com/p/moodbile/ Moodbile]&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
* [http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73441</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=73441"/>
		<updated>2010-06-29T20:08:28Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* Web apps: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Work in progress}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
=== Native Apps: ===&lt;br /&gt;
* [http://www.moodletouch.com MoodleTouch] created by Ali OzGur (available April 2010)&lt;br /&gt;
* [http://mpage.hk/ mPage] created by Mass Media, HK (available May 24, 2010)&lt;br /&gt;
&lt;br /&gt;
=== Web apps: ===&lt;br /&gt;
* [http://mle.sourceforge.com Mobile LE] &lt;br /&gt;
* [http://iphone.moodle.com.au iPhone4Moodle] (available 2010)&lt;br /&gt;
* Moodle for Mobiles: [http://www.mobilemoodle.org/momo18/ MoMo]&lt;br /&gt;
* Moodbile [http://code.google.com/p/moodbile/]&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7798 Moodle for mobile forum]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
* [http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70315</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70315"/>
		<updated>2010-03-29T23:28:51Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Native Apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
+(Available April 2010) MoodleTouch: [http://www.moodletouch.com] created by Ali OzGur &lt;br /&gt;
&lt;br /&gt;
Web apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
* Mobile LE: [http://mle.sourceforge.com] &amp;lt;br/&amp;gt;&lt;br /&gt;
* (Available 2010) iPhone4Moodle: [http://iphone.moodle.com.au] &amp;lt;br/&amp;gt;&lt;br /&gt;
* Moodle for Mobiles: &lt;br /&gt;
* MoMo:  [http://www.mobilemoodle.org/momo18/]  &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
Moodle Docs&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
&lt;br /&gt;
Moodle Forums&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
* [http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70314</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70314"/>
		<updated>2010-03-29T23:07:37Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* How can I use Moodle on mobile devices? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by [http://www.Moodletouch.com] in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Native Apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
+(Available April 2010) MoodleTouch: [http://www.moodletouch.com] created by Ali OzGur &lt;br /&gt;
&lt;br /&gt;
Web apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Mobile LE: [http://mle.sourceforge.com] &amp;lt;br/&amp;gt;&lt;br /&gt;
+ (Available 2010) iPhone4Moodle: [http://iphone.moodle.com.au] &amp;lt;br/&amp;gt;&lt;br /&gt;
+ Moodle for Mobiles: &lt;br /&gt;
+ MoMo:  [http://www.mobilemoodle.org/momo18/]  &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
Moodle Docs&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
&lt;br /&gt;
Moodle Forums&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
*[http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70313</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70313"/>
		<updated>2010-03-29T22:47:11Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* How can I use Moodle on mobile devices? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by www.Moodletouch.com in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Native Apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
+(Available April 2010) MoodleTouch: [http://www.moodletouch.com] created by Ali OzGur &lt;br /&gt;
&lt;br /&gt;
Web apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Mobile LE: [http://mle.sourceforge.com] &amp;lt;br/&amp;gt;&lt;br /&gt;
+ (Available 2010) iPhone4Moodle: [http://iphone.moodle.com.au] &amp;lt;br/&amp;gt;&lt;br /&gt;
+ MoMo:    &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
Moodle Docs&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
&lt;br /&gt;
Moodle Forums&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
*[http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70312</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70312"/>
		<updated>2010-03-29T22:46:28Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* How can I use Moodle on mobile devices? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile device, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by www.Moodletouch.com in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
Native Apps:&lt;br /&gt;
+(Available April 2010) MoodleTouch: [http://www.moodletouch.com] created by Ali OzGur &lt;br /&gt;
&lt;br /&gt;
Web apps:&amp;lt;br/&amp;gt;&lt;br /&gt;
+ Mobile LE: [http://mle.sourceforge.com] &lt;br /&gt;
+ (Available 2010) iPhone4Moodle: [http://iphone.moodle.com.au] &lt;br /&gt;
+ MoMo:&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
Moodle Docs&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
&lt;br /&gt;
Moodle Forums&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
*[http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70311</id>
		<title>Mobile Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/24/en/index.php?title=Mobile_Moodle_FAQ&amp;diff=70311"/>
		<updated>2010-03-29T22:45:54Z</updated>

		<summary type="html">&lt;p&gt;Joeythibault: /* How can I use Moodle on mobile devices? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
== How can I use Moodle on mobile devices? ==&lt;br /&gt;
Moodle will soon be available on various on limited phones through both native and web applications.  There are several projects that in the past that have made in-roads to making Moodle more mobile, but web-enabled handhelds, such as Android based phones or the iPhone and iPod Touch have provided much easier platforms for which to develop mobile Moodle technologies.  &lt;br /&gt;
&lt;br /&gt;
There are two ways to use Moodle on a mobile devise, you can pay for or download a native app for your cellular device (currently the only native Moodle app is planned for release by www.Moodletouch.com in April 2010), or you can configure your Moodle site to be Mobile accessible by using one of the available plug-ins.  &lt;br /&gt;
&lt;br /&gt;
Native Apps:&lt;br /&gt;
+(Available April 2010) MoodleTouch: [http://www.moodletouch.com] created by Ali OzGur &lt;br /&gt;
&lt;br /&gt;
Web apps:&lt;br /&gt;
+ Mobile LE: [http://mle.sourceforge.com] &lt;br /&gt;
+ (Available 2010) iPhone4Moodle: [http://iphone.moodle.com.au] &lt;br /&gt;
+ MoMo:&lt;br /&gt;
&lt;br /&gt;
== Which platforms are supported? ==&lt;br /&gt;
&lt;br /&gt;
=== iPhone ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104599 Moodle Mobile for iPhone]&lt;br /&gt;
* [[Moodle_for_Mobiles#Creating_Mobile_Learning_Tutorials_for_iPhone.2FiPod_Touch|Creating Mobile Learning Tutorials for iPhone/iPod Touch]]&lt;br /&gt;
&lt;br /&gt;
=== MLE ===&lt;br /&gt;
* [http://mle.sourceforge.net MLE-Moodle] - MLE-Moodle is a plugin for Moodle, which adds mLearning functionality to this open-source eLearning system. &lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=134778 Moodle on Android]&lt;br /&gt;
&lt;br /&gt;
=== Twitter ===&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=104949 Twitter plug-in for Moodle]&lt;br /&gt;
&lt;br /&gt;
== See also: ==&lt;br /&gt;
&lt;br /&gt;
Moodle Docs&lt;br /&gt;
* [[Moodle for Mobiles]] is designed to work with mobile phones in Japan.&lt;br /&gt;
&lt;br /&gt;
Moodle Forums&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895 Moodle for Mobiles Quiz code released] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=31895&amp;amp;parent=185847 Re: Customised Scripts -Moodle for Mobiles projects use of] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=143973 Moodle for mobile browsers]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=33033 Moodle for Mobiles Project]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=141815 Comparisons and Advocacy &amp;gt; Mobile Moodle]&lt;br /&gt;
&lt;br /&gt;
Miscellaneous&lt;br /&gt;
*[http://yuiblog.com/blog/2008/02/06/iphone-cacheability/ YUI blog post on how to optimise for the iPhone&#039;s cache]&lt;br /&gt;
* [http://www.mobilestudy.org/moodle/mobilequiz/ Moodle Mobile Quiz]&lt;br /&gt;
* [http://www.mobilemoodle.org/ Mobile Moodle (MOMO)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=123331 Emulators for mobile platforms]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Joeythibault</name></author>
	</entry>
</feed>