Moodle is an Open Source Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). This repository is a direct mirror of the official moodle.git repository at Please do NOT file PULL requests here, instead please use
PHP JavaScript Gherkin CSS HTML XSLT
Pull request Compare This branch is 13780 commits behind moodle:master.
Failed to load latest commit information.
admin MDL-39319 langimport: fix language file ordering and trailing whitespace Jul 1, 2015
auth MDL-49022 auth_ldap: keep method visibility unmodified. Jun 24, 2015
availability MDL-50177 completion: Also accepting cm integer strings May 12, 2015
backup Merge branch 'wip-MDL-48239-master' of git:// Jul 2, 2015
badges Merge branch 'm29_MDL-49628a' of Jun 2, 2015
blocks MDL-49667 navigation: allow items without branches in the settings menu Jun 16, 2015
blog MDL-50330 blog: Make other users blogs accessible May 27, 2015
cache MDL-42192 caches: Adding simpledata tests May 29, 2015
calendar MDL-50179 behat: Use %d for windows compatibility Jun 9, 2015
cohort MDL-28954 cohorts: support files in cohort descriptions Jun 8, 2015
comment Merge branch 'MDL-47773-master-commentui' of git://… Apr 7, 2015
completion Merge branch 'wip-mdl-49806' of May 27, 2015
course MDL-47787 course: Added question delete to cm delete. Jun 25, 2015
enrol Merge branch 'MDL-50092_master' of git:// May 18, 2015
error MDL-31560 Error: Fixed coding style Sep 13, 2013
files MDL-49994 files: Prevent to browse private files when are disabled May 6, 2015
filter MDL-33765 filter_glossary: fixed jshint warning Jun 29, 2015
grade MDL-48239 grades: corrected docs url for calculation changes Jul 2, 2015
group MDL-43949 groups: Add idnumber to web services Jun 25, 2015
install Automatically generated installer lang files Jun 30, 2015
iplookup MDL-47321 iplookup: Prevent guest users from using iplookup Nov 3, 2014
lang MDL-49257 grades: strings adjustments Jun 25, 2015
lib MDL-48239 gradebook: Oracle fix for string compare. Jul 2, 2015
local MDL-49643 navigation: Fix API for extending navigation in local plugins Mar 26, 2015
login Merge branch 'wip-MDL-50580-master' of git://… Jun 22, 2015
message MDL-50459 messages: Handle deleted users in external functions Jun 14, 2015
mnet MDL-50102 versions: bump all versions and requires near release May 5, 2015
mod Merge branch 'MDL-33765_master_offset' of git://… Jun 30, 2015
my MDL-49983 navigation: Remove 'my' from user context navigation May 4, 2015
notes MDL-50289 notes: No navigation to notes if the feature is disabled May 25, 2015
pix MDL-48934 navigation: Update the default entries in the user menu. Apr 10, 2015
plagiarism MDL-39752 fix whitespace errors Mar 10, 2015
portfolio MDL-50183 upgrade: add 2.9.0 separation line to all upgrade scripts May 11, 2015
question Merge branch 'php7_reserved_words' of git:// Jun 18, 2015
rating MDL-49763 webservices: Handle correctly deleted users for ratings Apr 10, 2015
report Merge branch 'MDL-49611' of git:// May 27, 2015
repository MDL-50675 repository_wikimedia: Fixed title varaible Jun 29, 2015
rss MDL-46463 core_rss: coding style cleanup in /rss Jul 23, 2014
tag MDL-25138 core_tags: remove duplicated related tags May 13, 2015
theme Merge branch 'MDL-50497-M30' of git:// Jul 1, 2015
user MDL-50130 todo: Conditional code to be changed to API by MDL-50728 Jun 30, 2015
userpix MDL-34460 Librairies: Replaced deprecated get_context_instance() Jul 26, 2012
webservice MDL-39353 xmlrpc: Add proxy support Jun 10, 2015
.csslintrc MDL-48277 css: enable some helpful csslint warnings Nov 18, 2014
.gitignore MDL-49840 testing: Stop ignoring composer.lock Apr 14, 2015
.jshintrc MDL-49046 javascript: Add support for AMD modules and jquery. Feb 23, 2015
.shifter.json MDL-42774 JavaScript: Ensure that shifter cleans build directories be… Nov 11, 2013
COPYING.txt license MDL-20717 Updated the COPYING file to GPLv3 for head Jan 8, 2010
Gruntfile.js MDL-50001 grunt: Make grunt work on windows May 5, 2015
README.txt MDL-38048 documentation: Typo in README file Feb 15, 2013
TRADEMARK.txt MDL-20700 coding style cleanup - cvs keywords removed, closign php ta… Nov 1, 2009
behat.yml.dist MDL-37046 behat: Adding empty Behat config file Jan 29, 2013
brokenfile.php MDL-26069 detect missing file postprocessing Jan 29, 2011
composer.json MDL-50452 behat: Added tag for moodle 3.0 Jun 3, 2015
composer.lock MDL-50452 behat: 2nd level dep. Update twig/twig to v1.18.2 Jun 10, 2015
config-dist.php MDL-44874 core: Add per-request directory functions Mar 31, 2015
draftfile.php MDL-31501 rework user session architecture Sep 21, 2013
file.php MDL-48799 Files API: fixed legacy directory fallback. Feb 1, 2015
help.php MDL-48389 forms: added page title to help text Dec 9, 2014
help_ajax.php MDL 38508 JavaScript: Split out AJAX and non-AJAX help Apr 8, 2013
index.php MDL-49689 navigation: Allow the user to set their homepage. Apr 13, 2015
install.php MDL-49684 timezones: rewrite timezone support Apr 6, 2015
mdeploy.php MDL-49087 mnet: Ensure typeroot is in dirroot Mar 3, 2015
mdeploytest.php MDL-49087 mnet: Ensure typeroot is in dirroot Mar 3, 2015
package.json MDL-50277 Javascript: Hardcode nodejs dependencies May 20, 2015
phpunit.xml.dist MDL-49203 webservices: Add missing component testsuite declaration Mar 26, 2015
pluginfile.php MDL-40719 pluginfile.php: the file API is now stable, so hide debug. Jul 19, 2013
tags.txt MDL-48855 dev: Fix ctags command to handle extra whitespace Jan 23, 2015
version.php weekly release 3.0dev Jul 2, 2015



For the impatient, here is a basic outline of the
installation process, which normally takes me only
a few minutes:

1) Move the Moodle files into your web directory.

2) Create a single database for Moodle to store all
   its tables in (or choose an existing database).

3) Visit your Moodle site with a browser, you should
   be taken to the install.php script, which will lead
   you through creating a config.php file and then
   setting up Moodle, creating an admin account etc.

4) Set up a cron task to call the file admin/cron.php
   every five minutes or so.

For more information, see the INSTALL DOCUMENTATION:

Good luck and have fun!
Martin Dougiamas, Lead Developer