Note: You are currently viewing documentation for Moodle 2.2. Up-to-date documentation for the latest stable version is available here: XMLDB Documentation.
XMLDB is Moodle's database abstraction layer -- it is the library of code that lets Moodle interact with and access the database.
In this page you will find links to all the XMLDB-related documentation. Currently you will find documents both belonging to the XMLDB category and to the general Developer and Installation categories, plus some interesting external links.
- Introduction: Where the general idea of XMLDB is explained.
- Roadmap: An overall view of the process of implementing the XMLDB subsystem, with details for each point of the process.
- Problems: A comprehensive list of issues that need to be determined/solved prior to incorporate them into the roadmap.
- Installing MSSQL for PHP: One short manual about the steps needed to successfully add MSSQL support to PHP.
- Installing Oracle for PHP: One short manual about the steps needed to successfully add Oracle support to PHP.
- Installing Moodle: The guide to install Moodle (once you have the AMP platform working on your server).
- DDL functions: One list of the new XMLDB Data Definition functions and their usage.
- DML functions: One list of the available Data Manipulation functions and their usage.
- XMLDB Usage: Explanation about the XML schema basis, the XML editor embedded within Moodle, its naming conventions and one simple but illustrative example.
- Development:Installing and upgrading plugin database tables
- Coding guidelines: The main coding guidelines and, more exactly, the database structures section that you must follow carefully in order to produce good cross-db code.
- Database schema: Moodle database diagrams in DBDesigner4 format.
Bugs and new features
- XMLDB known bugs
- XMLDB pending improvements and features
- Developers forum: For general development discussions.
- Databases forum: For DBs related development discussions.
Database engine documentation
Here are convenient links to the reference documentation of the various database engines we support, should you need to check that something is supported by all of them: